Advertisement
Guest User

Test 2 electric boogaloo

a guest
Apr 21st, 2015
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. local termWidth, termHeight = term.getSize()
  2. local keepRunning = 1
  3. local reactor = peripheral.find("BigReactors-Reactor")
  4. local monitor = peripheral.find("monitor")
  5. local selectedItem = 1
  6. local onMainMenu = true
  7.  
  8. local input = nil
  9.  
  10. -- Begin Main menu --
  11.  
  12. function Choice1()
  13. term.clear()
  14. term.setCursorPos(1,1)
  15. print("Reactor Enabled.\n")
  16. reactor.setActive(true)
  17. sleep(1)
  18. end
  19.  
  20. function monitorOutput()
  21. while keepRunning == 1 do
  22. -- Define Statistical Values --
  23. active = reactor.getActive()
  24. energy = reactor.getEnergyStored()
  25. fuel = reactor.getFuelAmount()
  26. maxfuel = reactor.getFuelAmountMax()
  27. waste = reactor.getWasteAmount()
  28. reactivity = reactor.getFuelReactivity()
  29. rate = reactor.getEnergyProducedLastTick()
  30.  
  31. -- Begin Display --
  32. term.clear()
  33. term.setCursorPos(1,1)
  34. monitor.write("Reactor Active: "..active)
  35. return()
  36. monitor.write("Stored Energy: "..energy.." RF")
  37. return()
  38. monitor.write("Fuel Reactivity"..reactivity.." percent")
  39. return()
  40. monitor.write("Total Fuel: "..fuel.." mB")
  41. return()
  42. monitor.write("Total Waste: "..waste.." mB")
  43. return()
  44. monitor.write("Total Contents: "..fuel+waste.." mB of"..maxfuel.." mB")
  45. return()
  46. monitor.write("Energy Per Tick: "..rate.." RF last tick")
  47. return()
  48. end
  49. end
  50.  
  51. function Choice2()
  52. term.clear()
  53. term.setCursorPos(1,1)
  54. print("Reactor Disabled\n")
  55. reactor.setActive(false)
  56. sleep(1)
  57. end
  58.  
  59. function Statistics()
  60. -- Define Statistical Values --
  61. active = reactor.getActive()
  62. energy = reactor.getEnergyStored()
  63. fuel = reactor.getFuelAmount()
  64. maxfuel = reactor.getFuelAmountMax()
  65. waste = reactor.getWasteAmount()
  66. reactivity = reactor.getFuelReactivity()
  67. rate = reactor.getEnergyProducedLastTick()
  68.  
  69. -- Begin Display --
  70. term.clear()
  71. term.setCursorPos(1,1)
  72. Print("Reactor Active: "..active)
  73. Print("Stored Energy: "..energy.." RF")
  74. Print("Fuel Reactivity"..reactivity.." percent")
  75. Print("Total Fuel: "..fuel.." mB")
  76. Print("Total Waste: "..waste.." mB")
  77. Print("Total Contents: "..fuel+waste.." mB of"..maxfuel.." mB")
  78. Print("Energy Per Tick: "..rate.." RF last tick")
  79. end
  80.  
  81. function Choice3()
  82. term.clear()
  83. term.setCursorPos(1,1)
  84. statistics()
  85. sleep(1)
  86. end
  87.  
  88. function Exit()
  89. print("Shutting down. Goodbye.")
  90. os.sleep(2)
  91. os.shutdown()
  92. end
  93.  
  94. mainMenu = {
  95. [1] = { text = "Turn Reactor On", handler = Choice1 },
  96. [2] = { text = "Turn Reactor Off", handler = Choice2 },
  97. [3] = { text = "Detailed Status", handler = Choice3 },
  98. [4] = { text = "Shut Down", handler = Exit }
  99. }
  100.  
  101. function printMenu( menu )
  102. for i=1,#menu do
  103. if i == selectedItem then
  104. print(">> "..menu[i].text)
  105. else
  106. print(" "..menu[i].text)
  107. end
  108. end
  109. end
  110.  
  111. function onKeyPressed( key, menu )
  112. if key == keys.enter then
  113. onItemSelected(menu)
  114. elseif key == keys.up then
  115. if selectedItem > 1 then
  116. selectedItem = selectedItem - 1
  117. end
  118. elseif key == keys.down then
  119. if selectedItem < #menu then
  120. selectedItem = selectedItem + 1
  121. end
  122. end
  123. end
  124.  
  125. function onItemSelected( menu )
  126. menu[selectedItem].handler()
  127. end
  128.  
  129. function main()
  130. while onMainMenu do
  131. term.clear()
  132. term.setCursorPos(1,1)
  133. print(colors.red, "Bardus Specifications Basic Underground Transcription Terminal\nProject Greenlight.\n")
  134. printMenu(mainMenu)
  135. event, key = os.pullEvent("key")
  136. onKeyPressed(key,mainMenu)
  137. end
  138. end
  139.  
  140. -- End menu --
  141.  
  142. monitorOutput()
  143. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement