Advertisement
Guest User

stockageEnergie

a guest
Nov 23rd, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.76 KB | None | 0 0
  1. reacteur = peripheral.wrap("BigReactors-Reactor_0")
  2. cube = peripheral.wrap("Ultimate Energy Cube_0")
  3.  
  4. monitors = {
  5.   peripheral.wrap("monitor_0"),
  6.   peripheral.wrap("monitor_1")
  7. }
  8.  
  9. function allMonitor()
  10.   for i=1,#monitors do
  11.     monitors[i].clear()
  12.    
  13.     monitors[i].setCursorPos(1,1)
  14.     monitors[i].setTextColor(colors.blue)
  15.     monitors[i].write("               Energie de la base :               ")
  16.     monitors[i].setCursorPos(1,2)
  17.     monitors[i].setTextColor(colors.yellow)
  18.     monitors[i].write("==================================================")
  19.    
  20.     monitors[i].setCursorPos(1,3)
  21.     monitors[i].setTextColor(colors.blue)
  22.     monitors[i].write("           Batterie          ")
  23.     monitors[i].setTextColor(colors.yellow)
  24.     monitors[i].write("|")
  25.     monitors[i].setTextColor(colors.blue)
  26.     monitors[i].write("      Reacteur      ")
  27.    
  28.     monitors[i].setCursorPos(1,4)
  29.     monitors[i].setTextColor(colors.yellow)
  30.     monitors[i].write("--------------------------------------------------")  
  31.    
  32.     --- Barre Verticale ---
  33.    
  34.     monitors[i].setTextColor(colors.yellow)
  35.     monitors[i].setCursorPos(30,5)
  36.     monitors[i].write("|")
  37.     monitors[i].setCursorPos(30,6)
  38.     monitors[i].write("|")
  39.     monitors[i].setCursorPos(30,7)
  40.     monitors[i].write("|")
  41.     monitors[i].setCursorPos(30,8)
  42.     monitors[i].write("|")
  43.     monitors[i].setCursorPos(30,9)
  44.     monitors[i].write("|")
  45.     monitors[i].setCursorPos(30,10)
  46.     monitors[i].write("|")
  47.     monitors[i].setCursorPos(30,11)
  48.     monitors[i].write("|")
  49.     monitors[i].setCursorPos(30,12)
  50.     monitors[i].write("|")
  51.    
  52.     monitors[i].setCursorPos(3,5)
  53.     monitors[i].setTextColor(colors.blue)
  54.     monitors[i].write("Energie restante :")
  55.     monitors[i].setCursorPos(3,6)
  56.     monitors[i].setTextColor(colors.lime)
  57.     monitors[i].write(CubeStored.."")
  58.     monitors[i].setTextColor(colors.white)
  59.     monitors[i].write(" RF / ")
  60.     monitors[i].setTextColor(colors.lime)
  61.     monitors[i].write(CubeMax.."")
  62.     monitors[i].setTextColor(colors.white)
  63.     monitors[i].write(" RF")
  64.    
  65.     monitors[i].setCursorPos(3,8)
  66.     monitors[i].setTextColor(colors.blue)
  67.     monitors[i].write("Pourcentage restant : ")
  68.    
  69.     if CubePourcentage >= 60 then
  70.       monitors[i].setTextColor(colors.green)
  71.     elseif CubePourcentage >= 35 then
  72.       monitors[i].setTextColor(colors.yellow)
  73.     elseif CubePourcentage >= 15 then
  74.       monitors[i].setTextColor(colors.orange)
  75.     elseif CubePourcentage >= 0 then
  76.       monitors[i].setTextColor(colors.red)
  77.     end
  78.    
  79.     monitors[i].write(CubePourcentage.."")
  80.     monitors[i].setTextColor(colors.white)
  81.     monitors[i].write("%")
  82.    
  83.     monitors[i].setCursorPos(3,10)
  84.     monitors[i].setTextColor(colors.blue)
  85.     monitors[i].write("Consommation : ")
  86.    
  87.     if rfTick == 0 then
  88.       monitors[i].setTextColor(colors.orange)
  89.     elseif rfTick > 0 then
  90.       monitors[i].setTextColor(colors.lime)
  91.       monitors[i].write("+")
  92.     elseif rfTick < 0 then
  93.       monitors[i].setTextColor(colors.red)
  94.     end
  95.     monitors[i].write(rfTick.."")
  96.     monitors[i].setTextColor(colors.white)
  97.     monitors[i].write(" RF/t")
  98.    
  99.    
  100.     --- Reacteur ---
  101.    
  102.     monitors[i].setCursorPos(33,5)
  103.     monitors[i].setTextColor(colors.blue)
  104.     monitors[i].write("Etat : ")
  105.     if ReacteurActive == true then
  106.       monitors[i].setTextColor(colors.green)
  107.       monitors[i].write("Active")
  108.     elseif ReacteurActive == false then
  109.       monitors[i].setTextColor(colors.red)
  110.       monitors[i].write("Desactive")
  111.     end
  112.    
  113.     monitors[i].setCursorPos(33,7)
  114.     monitors[i].setTextColor(colors.blue)
  115.     monitors[i].write("Energie :")
  116.     monitors[i].setCursorPos(33,8)
  117.     monitors[i].setTextColor(colors.lime)
  118.     monitors[i].write(ReacteurStored.."")
  119.     monitors[i].setTextColor(colors.white)
  120.     monitors[i].write(" RF /")
  121.     monitors[i].setCursorPos(33,9)
  122.     monitors[i].setTextColor(colors.lime)
  123.     monitors[i].write(ReacteurMax.."")
  124.     monitors[i].setTextColor(colors.white)
  125.     monitors[i].write(" RF")
  126.    
  127.     monitors[i].setCursorPos(33,11)
  128.     monitors[i].setTextColor(colors.blue)
  129.     monitors[i].write("Pourcentage : ")
  130.     if ReacteurPourcentage >= 60 then
  131.       monitors[i].setTextColor(colors.green)
  132.     elseif ReacteurPourcentage >= 35 then
  133.       monitors[i].setTextColor(colors.yellow)
  134.     elseif ReacteurPourcentage >= 15 then
  135.       monitors[i].setTextColor(colors.orange)
  136.     elseif ReacteurPourcentage >= 0 then
  137.       monitors[i].setTextColor(colors.red)
  138.     end
  139.     monitors[i].write(ReacteurPourcentage.."")
  140.     monitors[i].setTextColor(colors.white)
  141.     monitors[i].write("%")
  142.            
  143.   end
  144. end
  145.  
  146. function perTick()
  147.   var1 = cube.getEnergy() / 2.5
  148.   sleep(0.05)
  149.   var2 = cube.getEnergy() / 2.5
  150.   rfTick = math.floor(var2 - var1)
  151. end
  152.  
  153. while true do
  154.  
  155. --- Variables ---
  156.   --Cube--
  157.  
  158.   CubeStored = math.floor(cube.getEnergy() / 2.5)
  159.   CubeMax = math.floor(cube.getMaxEnergy() / 2.5)
  160.   CubePourcentage = math.floor((CubeStored * 100) / CubeMax)
  161.    
  162.   --Reacteur--
  163.  
  164.   ReacteurActive = reacteur.getActive()
  165.   ReacteurStored = reacteur.getEnergyStored()
  166.   ReacteurMax = 10000000
  167.   ReacteurPourcentage = math.floor((ReacteurStored * 100) / ReacteurMax)
  168.  
  169. --- Affichage PC ---
  170.   perTick()
  171.   allMonitor()
  172.  
  173.   term.clear()
  174.   term.setCursorPos(1,1)
  175.  
  176.   print(CubeStored.." RF/ "..CubeMax.." RF")
  177.   print(CubePourcentage.." %")
  178.   print(rfTick.." RF/t")
  179.  
  180.   term.setCursorPos(1,5)
  181.   if ReacteurActive == true then
  182.     print("Etat : Active")
  183.   elseif ReacteurActive == false then
  184.     print("Etat : Desactive")
  185.   end
  186.   print(ReacteurStored.." RF/ "..ReacteurMax.." RF")
  187.   print(ReacteurPourcentage.." %")
  188.  
  189. --- Affichage Ecrans ---
  190.  
  191.  
  192.  
  193. ---  Autres   ---
  194.  
  195.   sleep(0.05)
  196. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement