NMDanny

Untitled

Jul 18th, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.19 KB | None | 0 0
  1. modem=peripheral.wrap("back")
  2. modem.open(156)
  3. pad=0
  4. -- Fields, as defined in the reactor management program.
  5. info={"Current energy capacity","Maximum energy capacity","Energy buffer percent","Energy production rate","Fuel usage","Fuel rod level"}
  6. values={0,0,0,0,0,0}
  7. units={" RF"," RF","% RF"," RF/t"," buckets per hour","%"}
  8.  
  9. function Receive()
  10.     while true do
  11.         local event,side,sch,rch,message,dist=os.pullEvent("modem_message")
  12.         values=textutils.unserialize(message)
  13.         sleep(2.5)
  14.     end
  15. end
  16.  
  17. function Draw()
  18.     while true do
  19.    
  20.         -- Title
  21.         term.setCursorPos(2,2)
  22.         term.setBackgroundColor(colors.purple)
  23.         term.setTextColor(colors.yellow)
  24.         term.write("NMDanny's Reactor Control v1")
  25.        
  26.         -- On program first run, check for padding
  27.         if(pad==0) then
  28.             for i=1,#info,1 do
  29.                 pad=math.max(pad,#(info[i]..": "..values[i]..units[i]))
  30.             end
  31.         end
  32.        
  33.         -- Print data
  34.         term.setTextColor(colors.white)
  35.         for i=1,#info,1 do
  36.             term.setCursorPos(2,3+i)
  37.             local tempPad=pad-#(info[i]..": "..values[i]..units[i])
  38.             term.write(info[i]..": "..string.rep(" ",tempPad)..values[i]..units[i])
  39.         end
  40.        
  41.         sleep(2.5)
  42.     end
  43. end
  44.  
  45.  
  46. while true do
  47.     parallel.waitForAny(Receive,Draw)
  48. end
Advertisement
Add Comment
Please, Sign In to add comment