Advertisement
Guest User

testing

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