miezto

rs-to-fuel

Oct 1st, 2019
517
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.25 KB | None | 0 0
  1. local monitor = peripheral.wrap("left")
  2.  
  3. local mon, monX, monY
  4. monX, monY = monitor.getSize()
  5. mon = {}
  6. mon.monitor,mon.X, mon.Y = monitor, monX, monY
  7.  
  8. function clear(mon)
  9.     term.clear()
  10.     term.setCursorPos(1,1)
  11.     mon.monitor.setBackgroundColor(colors.black)
  12.     mon.monitor.clear()
  13.     mon.monitor.setCursorPos(1,1)
  14. end
  15.  
  16. function draw_text(mon, x, y, text, text_color, bg_color)
  17.     mon.monitor.setBackgroundColor(bg_color)
  18.     mon.monitor.setTextColor(text_color)
  19.     mon.monitor.setCursorPos(x,y)
  20.     mon.monitor.write(text)
  21. end
  22.  
  23. function draw_text_right(mon, offset, y, text, text_color, bg_color)
  24.     mon.monitor.setBackgroundColor(bg_color)
  25.     mon.monitor.setTextColor(text_color)
  26.     mon.monitor.setCursorPos(mon.X-string.len(tostring(text))-offset,y)
  27.     mon.monitor.write(text)
  28. end
  29.  
  30. function draw_text_lr(mon, x, y, offset, text1, text2, text1_color, text2_color, bg_color)
  31.     draw_text(mon, x, y, text1, text1_color, bg_color)
  32.     draw_text_right(mon, offset, y, text2, text2_color, bg_color)
  33. end
  34.  
  35. function update()
  36.     while true do
  37.         clear(mon)
  38.  
  39.         local rsignal
  40.         rsignal = redstone.getAnalogInput("right")
  41.         print("RSignal: " .. rsignal)
  42.        
  43.         draw_text(mon, 4, 2, "1", colors.lightGray, colors.white)
  44.         draw_text(mon, 3, 3, "11", colors.lightGray, colors.white)
  45.         draw_text(mon, 4, 4, "1", colors.lightGray, colors.white)
  46.         draw_text(mon, 4, 5, "1", colors.lightGray, colors.white)
  47.         draw_text(mon, 3, 6, "111", colors.lightGray, colors.white)
  48.  
  49.         local fuelColor
  50.         fuelColor = colors.gray
  51.  
  52.         if rsignal == 16 then fuelColor = colors.lime end
  53.         if rsignal <= 15 and rsignal >= 12 then fuelColor = colors.green end
  54.         if rsignal <= 11 and rsignal >= 9 then fuelColor = colors.orange end
  55.         if rsignal == 8 or rsignal == 0 then fuelColor = colors.red end
  56.        
  57.         if rsignal == 16 then draw_text(mon, 3, 8, "   ", colors.lightGray, fuelColor)
  58.                          else draw_text(mon, 3, 8, "   ", colors.lightGray, colors.gray) end
  59.         if rsignal >= 15 then draw_text(mon, 3, 9, "   ", colors.lightGray, fuelColor)
  60.                          else draw_text(mon, 3, 9, "   ", colors.lightGray, colors.gray) end
  61.         if rsignal >= 14 then draw_text(mon, 3, 10, "   ", colors.lightGray, fuelColor)
  62.                          else draw_text(mon, 3, 10, "   ", colors.lightGray, colors.gray) end
  63.         if rsignal >= 13 then draw_text(mon, 3, 11, "   ", colors.lightGray, fuelColor)
  64.                          else draw_text(mon, 3, 11, "   ", colors.lightGray, colors.gray) end
  65.         if rsignal >= 12 then draw_text(mon, 3, 12, "   ", colors.lightGray, fuelColor)
  66.                          else draw_text(mon, 3, 12, "   ", colors.lightGray, colors.gray) end
  67.         if rsignal >= 11 then draw_text(mon, 3, 13, "   ", colors.lightGray, fuelColor)
  68.                          else draw_text(mon, 3, 13, "   ", colors.lightGray, colors.gray) end
  69.         if rsignal >= 10 then draw_text(mon, 3, 14, "   ", colors.lightGray, fuelColor)
  70.                          else draw_text(mon, 3, 14, "   ", colors.lightGray, colors.gray) end
  71.         if rsignal >= 9 then draw_text(mon, 3, 15, "   ", colors.lightGray, fuelColor)
  72.                         else draw_text(mon, 3, 15, "   ", colors.lightGray, colors.gray) end
  73.         if rsignal >= 8 then draw_text(mon, 3, 16, "   ", colors.lightGray, fuelColor)
  74.                         else draw_text(mon, 3, 16, "OFF", fuelColor, colors.gray) end
  75.                
  76.    
  77.         sleep(0.1)
  78.     end
  79. end
  80.  
  81. parallel.waitForAny(update)
Add Comment
Please, Sign In to add comment