Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rednet.open("right")
- -- Initialisation globale
- mon = peripheral.wrap("left")
- os.loadAPI("gui")
- local rpmTurbine1 = "nill"
- local rfTurbine1 = "nill"
- local temp = "nill"
- local reacteurActivit = "nill"
- local input = 1
- local output = 1
- local energy = 1
- local maxenergy = 1
- -- ID des computeurs
- local idTurbine1 = 7
- local idTurbine2 = 8
- local idEnergyCube = 10
- local idReacteur = 13
- -- Affichage texte sur terminal
- term.clear()
- term.setCursorPos(1,1)
- print("Reception donnees : ID : 5")
- print("Turbine 1 - Turbine 2")
- print("Energy Cube")
- print("Reacteur")
- print("")
- print("En cours d'execution")
- print("")
- print("Programme cree par Rito_kun")
- -- Redirection message terminal vers ecran
- term.redirect(mon)
- -- Creation de la barre de progression tout en bas
- energyBar = gui.createBar("energyBar")
- energyBar:draw(2,18,47,colors.white,colors.green,true,colors.black,colors.white)
- -- Afficher du texte sur l'ecran
- function msg(x, y, text, color_txt, color_bg)
- mon.setBackgroundColor(color_bg)
- mon.setTextColor(color_txt)
- mon.setCursorPos(x,y)
- mon.write(text)
- end
- -- Verification et indique si un computer est eteint
- function verif(serv)
- if temp == null then
- term.clear()
- term.setCursorPos(1,1)
- print("Le computer "..serv.." est eteint")
- print("Merci de l'allumer")
- print("")
- print("Redemarrage en cours...")
- sleep(3)
- os.reboot()
- end
- end
- -- Recolte d'informations sur les turbines, energy cube et reacteur
- function infos()
- --info Turbine 1
- rednet.send(idTurbine1,"RPM")
- id,temp = rednet.receive(0.1)
- verif("Turbine 1")
- rpmTurbine1 = temp
- rednet.send(idTurbine1,"rf")
- id,temp = rednet.receive(0.1)
- verif("Turbine 1")
- rfTurbine1 = temp
- --info Turbine 2
- rednet.send(idTurbine2,"RPM")
- id,temp = rednet.receive(0.1)
- verif("Turbine 2")
- rpmTurbine2 = temp
- rednet.send(idTurbine2,"rf")
- id,temp = rednet.receive(0.1)
- verif("Turbine 2")
- rfTurbine2 = temp
- --info EnergyCube
- rednet.send(idEnergyCube,"input")
- id,temp = rednet.receive(0.1)
- verif("Energy Cube")
- inputEnergy = temp
- rednet.send(idEnergyCube,"output")
- id,temp = rednet.receive(0.1)
- verif("Energy Cube")
- outputEnergy = temp
- rednet.send(idEnergyCube,"maxEnergy")
- id,temp = rednet.receive(0.1)
- verif("Energy Cube")
- maxEnergy = temp
- rednet.send(idEnergyCube,"energy")
- id,temp = rednet.receive(0.1)
- verif("Energy Cube")
- energy = temp
- --info reacteur
- rednet.send(idReacteur,"allumer")
- id,temp = rednet.receive(0.1)
- verif("Reacteur")
- reacteurActivit = temp
- rednet.send(idReacteur,"consommation")
- id,temp = rednet.receive(0.1)
- verif("Reacteur")
- consommationReacteur = temp
- rednet.send(idReacteur,"tempCarburant")
- id,temp = rednet.receive(0.1)
- verif("Reacteur")
- tempCarburant = temp
- rednet.send(idReacteur,"tempReacteur")
- id,temp = rednet.receive(0.1)
- verif("Reacteur")
- tempReacteur = temp
- end
- -- Gère si le reacteur doit être allumé ou non
- function gestionReacteur()
- -- Si Energy cube est rempli à 95% ou +, le reacteur s'eteint.
- if energyPercent >= 95 then rednet.send(idReacteur,"OFF") end
- -- Si Energy cube est rempli à 5% ou -, le reacteur s'allume.
- if energyPercent <= 10 then rednet.send(idReacteur,"ON") end
- end
- while true do
- infos()
- sleep(0.8)
- mon.clear()
- -- Calcule en pourcentage le remplissage d'energie dans l'energie cube et actualise l'affichage
- energyPercent = math.floor((energy/maxEnergy)*100)
- energyBar:update(energyPercent)
- gestionReacteur()
- -- Convertie les RF en kRF
- inputKrf = math.floor(inputEnergy/2560)
- outputKrf = math.floor(outputEnergy/2560)
- maxEnergyMsg = maxEnergy/2560
- energyMsg = energy/2560
- --inputKrf2 = math.round(inputKrf*10)*0.1
- --output = math.round(outputMsg*10)*0.1
- --arrondiPremDecimal(inputMsg)
- --arrondiPremDecimal(outputMsg)
- krfTurbine1 = rfTurbine1/1000
- krfTurbine2 = rfTurbine2/1000
- msg(1, 1, "Turbines :", colors.white, colors.red)
- msg(1, 2, " N 1 : "..rpmTurbine1.." RPM - "..krfTurbine1.." kRF/t", colors.white, colors.black)
- msg(1, 3, " N 2 : "..rpmTurbine2.." RPM - "..krfTurbine2.." kRF/t", colors.white, colors.black)
- msg(1, 5, "Energy Cube :", colors.white, colors.red)
- msg(1, 6, " Entree d'energie : "..inputKrf.." kRF/t", colors.white, colors.black)
- msg(1, 7, " Sortie d'energie : "..outputKrf.." kRF/t", colors.white, colors.black)
- msg(1, 8, " Capacite maximum : "..maxEnergyMsg.." kRF", colors.white, colors.black)
- msg(1, 9, " Energie : "..math.floor(energyMsg).." kRF", colors.white, colors.black)
- msg(1, 11, "Reacteur :", colors.white, colors.red)
- msg(1, 12, " Actif : "..reacteurActivit, colors.white, colors.black)
- msg(1, 13, " Consommation : "..consommationReacteur.." mb/t", colors.white, colors.black)
- msg(1, 14, " Temp. carburant : "..math.floor(tempCarburant).." degrets", colors.white, colors.black)
- msg(1, 15, " Temp. reacteur : "..math.floor(tempReacteur).." degrets", colors.white, colors.black)
- os.sleep(0.2)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement