Don't like ads? PRO users don't see any ads ;-)
Guest

Reactor Control

By: a guest on Jun 26th, 2012  |  syntax: Lua  |  size: 9.01 KB  |  hits: 25  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. os.loadAPI("ReactorAPI")
  2. efficiency = 0
  3.  term.clear()
  4.  term.setCursorPos(1,1)
  5.  write("Reactor Control\n")
  6.  write("\n")
  7.  write("Reactor:       [Offline]\n")
  8.  write("Error Occured: [No]\n")
  9.  write("0%   Performance\n")
  10.  write("S  - Start the Reactor\n")
  11.  write("Q  - Quit the Fusion\n")
  12.  write("R  - Refill Reactor\n")
  13.  write("/\\ - Increase efficiency\n")
  14.  write("\\/ - Reduce efficiency\n")
  15.  write("Status: ready for Input")
  16. while true do
  17.  if rs.testBundledInput("back", colors.blue) then
  18.   rs.setBundledOutput("back", colors.cyan)
  19.  end
  20.  if rs.testBundledInput("back", colors.white) then
  21.   rs.setBundledOutput("back", 0)
  22.  end
  23.  if rs.testBundledInput("back", colors.blue) or rs.testBundledInput("back", colors.white) then
  24.   term.setCursorPos(1,3)
  25.   write("Reactor:       [Offline]\n")
  26.   term.setCursorPos(1,4)
  27.   write("Error Occured: [Yes]\n")
  28.   term.setCursorPos(1,5)
  29.   write("0%   Performance\n")
  30.   efficiency = 0
  31.  end
  32.  local keyevent, param = os.pullEvent()
  33.  if keyevent == "key" then
  34.   if param == 31 and efficiency == 0 then
  35.    term.clear()
  36.    term.setCursorPos(1,1)
  37.    write("Reactor Control\n")
  38.    write("\n")
  39.    write("Reactor:       [Online]\n")
  40.    write("Error Occured: [No]\n")
  41.    write("20%  Performance\n")
  42.    write("S  - Start the Reactor\n")
  43.    write("Q  - Quit the Fusion\n")
  44.    write("R  - Refill Reactor\n")
  45.    write("/\\ - Increase efficiency\n")
  46.    write("\\/ - Reduce efficiency\n")
  47.    write("Status: Starting the Reactor..")
  48.    efficiency = 20
  49.    ReactorAPI.fillUranium(2)
  50.    rs.setBundledOutput("back", colors.red + colors.lightGray)
  51.    term.setCursorPos(1,11)
  52.    write("Status: ready for Input        ")
  53.   elseif param == 16 then
  54.    efficiency = 0
  55.    term.clear()
  56.    term.setCursorPos(1,1)
  57.    write("Reactor Control\n")
  58.    write("\n")
  59.    write("Reactor:       [Offline]\n")
  60.    write("Error Occured: [No]\n")
  61.    write("0%   Performance\n")
  62.    write("S  - Start the Reactor\n")
  63.    write("Q  - Quit the Fusion\n")
  64.    write("R  - Refill Reactor\n")
  65.    write("/\\ - Increase efficiency\n")
  66.    write("\\/ - Reduce efficiency\n")
  67.    write("Status: ready for Input        ")
  68.    rs.setBundledOutput("back", 0)
  69.  
  70. -- Increasing Efficiency --
  71.   elseif param == 200 and efficiency == 0 then
  72.    sleep(1)
  73.   elseif param == 200 and efficiency == 20 then
  74.    efficiency = 30
  75.    term.setCursorPos(1,5)
  76.    write("30%  Performance\n")
  77.    term.setCursorPos(1,11)
  78.    write("Status: increasing efficiency..")
  79.    ReactorAPI.fillUranium(3)
  80.    term.setCursorPos(1,11)
  81.    write("Status: ready for Input        ")
  82.   elseif param == 200 and efficiency == 30 then
  83.    efficiency = 40
  84.    term.setCursorPos(1,5)
  85.    write("40%  Performance\n")
  86.    term.setCursorPos(1,11)
  87.    write("Status: increasing efficiency..")
  88.    ReactorAPI.fillUranium(4)
  89.    term.setCursorPos(1,11)
  90.    write("Status: ready for Input        ")
  91.   elseif param == 200 and efficiency == 40 then
  92.    efficiency = 50
  93.    term.setCursorPos(1,5)
  94.    write("50%  Performance\n")
  95.    term.setCursorPos(1,11)
  96.    write("Status: increasing efficiency..")
  97.    ReactorAPI.fillUranium(5)
  98.    term.setCursorPos(1,11)
  99.    write("Status: ready for Input        ")
  100.   elseif param == 200 and efficiency == 50 then
  101.    efficiency = 60
  102.    term.setCursorPos(1,5)
  103.    write("60%  Performance\n")
  104.    term.setCursorPos(1,11)
  105.    write("Status: increasing efficiency..")
  106.    ReactorAPI.fillUranium(6)
  107.    term.setCursorPos(1,11)
  108.    write("Status: ready for Input        ")
  109.   elseif param == 200 and efficiency == 60 then
  110.    efficiency = 70
  111.    term.setCursorPos(1,5)
  112.    write("70%  Performance\n")
  113.    term.setCursorPos(1,11)
  114.    write("Status: increasing efficiency..")
  115.    ReactorAPI.fillUranium(7)
  116.    term.setCursorPos(1,11)
  117.    write("Status: ready for Input        ")
  118.   elseif param == 200 and efficiency == 70 then
  119.    efficiency = 80
  120.    term.setCursorPos(1,5)
  121.    write("80%  Performance\n")
  122.    term.setCursorPos(1,11)
  123.    write("Status: increasing efficiency..")
  124.    ReactorAPI.fillUranium(8)
  125.    term.setCursorPos(1,11)
  126.    write("Status: ready for Input        ")
  127.   elseif param == 200 and efficiency == 80 then
  128.    efficiency = 90
  129.    term.setCursorPos(1,5)
  130.    write("90%  Performance\n")
  131.    term.setCursorPos(1,11)
  132.    write("Status: increasing efficiency..")
  133.    ReactorAPI.fillUranium(9)
  134.    term.setCursorPos(1,11)
  135.    write("Status: ready for Input        ")
  136.   elseif param == 200 and efficiency == 90 then
  137.    efficiency = 100
  138.    term.setCursorPos(1,5)
  139.    write("100% Performance\n")
  140.    term.setCursorPos(1,11)
  141.    write("Status: increasing efficiency..")
  142.    ReactorAPI.fillUranium(10)
  143.    term.setCursorPos(1,11)
  144.    write("Status: ready for Input        ")
  145.  
  146. -- Reducing Efficiency --
  147.   elseif param == 208 and efficiency == 100 then
  148.    efficiency = 90
  149.    term.setCursorPos(1,5)
  150.    write("90%  Performance\n")
  151.    term.setCursorPos(1,11)
  152.    write("Status: reducing efficiency..")
  153.    ReactorAPI.fillUranium(9)
  154.    term.setCursorPos(1,11)
  155.    write("Status: ready for Input        ")
  156.   elseif param == 208 and efficiency == 90 then
  157.    efficiency = 80
  158.    term.setCursorPos(1,5)
  159.    write("80%  Performance\n")
  160.    term.setCursorPos(1,11)
  161.    write("Status: reducing efficiency..")
  162.    ReactorAPI.fillUranium(8)
  163.    term.setCursorPos(1,11)
  164.    write("Status: ready for Input        ")
  165.   elseif param == 208 and efficiency == 80 then
  166.    efficiency = 70
  167.    term.setCursorPos(1,5)
  168.    write("70%  Performance\n")
  169.    term.setCursorPos(1,11)
  170.    write("Status: reducing efficiency..")
  171.    ReactorAPI.fillUranium(7)
  172.    term.setCursorPos(1,11)
  173.    write("Status: ready for Input        ")
  174.   elseif param == 200 and efficiency == 70 then
  175.    efficiency = 60
  176.    term.setCursorPos(1,5)
  177.    write("60%  Performance\n")
  178.    term.setCursorPos(1,11)
  179.    write("Status: reducing efficiency..")
  180.    ReactorAPI.fillUranium(6)
  181.    term.setCursorPos(1,11)
  182.    write("Status: ready for Input        ")
  183.   elseif param == 208 and efficiency == 60 then
  184.    efficiency = 50
  185.    term.setCursorPos(1,5)
  186.    write("50%  Performance\n")
  187.    term.setCursorPos(1,11)
  188.    write("Status: reducing efficiency..")
  189.    ReactorAPI.fillUranium(5)
  190.    term.setCursorPos(1,11)
  191.    write("Status: ready for Input        ")
  192.   elseif param == 208 and efficiency == 50 then
  193.    efficiency = 40
  194.    term.setCursorPos(1,5)
  195.    write("40%  Performance\n")
  196.    term.setCursorPos(1,11)
  197.    write("Status: reducing efficiency..")
  198.    ReactorAPI.fillUranium(4)
  199.    term.setCursorPos(1,11)
  200.    write("Status: ready for Input        ")
  201.   elseif param == 208 and efficiency == 40 then
  202.    efficiency = 30
  203.    term.setCursorPos(1,5)
  204.    write("30%  Performance\n")
  205.    term.setCursorPos(1,11)
  206.    write("Status: reducing efficiency..")
  207.    ReactorAPI.fillUranium(3)
  208.    term.setCursorPos(1,11)
  209.    write("Status: ready for Input        ")
  210.   elseif param == 208 and efficiency == 30 then
  211.    efficiency = 20
  212.    term.setCursorPos(1,5)
  213.    write("100% Performance\n")
  214.    term.setCursorPos(1,11)
  215.    write("Status: reducing efficiency..")
  216.    ReactorAPI.fillUranium(2)
  217.    term.setCursorPos(1,11)
  218.    write("Status: ready for Input        ")
  219.  
  220. -- Refilling --
  221.   elseif param == 19 and efficiency == 20 then
  222.    term.setCursorPos(1,11)
  223.    write("Status: refilling reactor..    ")
  224.    ReactorAPI.fillUranium(2)
  225.    term.setCursorPos(1,11)
  226.    write("Status: ready for Input        ")
  227.   elseif param == 19 and efficiency == 30 then
  228.    term.setCursorPos(1,11)
  229.    write("Status: refilling reactor..    ")
  230.    ReactorAPI.fillUranium(3)
  231.    term.setCursorPos(1,11)
  232.    write("Status: ready for Input        ")
  233.   elseif param == 19 and efficiency == 40 then
  234.    term.setCursorPos(1,11)
  235.    write("Status: refilling reactor..    ")
  236.    ReactorAPI.fillUranium(4)
  237.    term.setCursorPos(1,11)
  238.    write("Status: ready for Input        ")
  239.   elseif param == 19 and efficiency == 50 then
  240.    term.setCursorPos(1,11)
  241.    write("Status: refilling reactor..    ")
  242.    ReactorAPI.fillUranium(5)
  243.    term.setCursorPos(1,11)
  244.    write("Status: ready for Input        ")
  245.   elseif param == 19 and efficiency == 60 then
  246.    term.setCursorPos(1,11)
  247.    write("Status: refilling reactor..    ")
  248.    ReactorAPI.fillUranium(6)
  249.    term.setCursorPos(1,11)
  250.    write("Status: ready for Input        ")
  251.   elseif param == 19 and efficiency == 70 then
  252.    term.setCursorPos(1,11)
  253.    write("Status: refilling reactor..    ")
  254.    ReactorAPI.fillUranium(7)
  255.    term.setCursorPos(1,11)
  256.    write("Status: ready for Input        ")
  257.   elseif param == 19 and efficiency == 80 then
  258.    term.setCursorPos(1,11)
  259.    write("Status: refilling reactor..    ")
  260.    ReactorAPI.fillUranium(8)
  261.    term.setCursorPos(1,11)
  262.    write("Status: ready for Input        ")
  263.   elseif param == 19 and efficiency == 90 then
  264.    term.setCursorPos(1,11)
  265.    write("Status: refilling reactor..    ")
  266.    ReactorAPI.fillUranium(9)
  267.    term.setCursorPos(1,11)
  268.    write("Status: ready for Input        ")
  269.   elseif param == 19 and efficiency == 100 then
  270.    term.setCursorPos(1,11)
  271.    write("Status: refilling reactor..    ")
  272.    ReactorAPI.fillUranium(10)
  273.    term.setCursorPos(1,11)
  274.    write("Status: ready for Input        ")
  275.   end
  276.  end
  277. sleep(1)
  278. end