Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function pixelCalc (percent, usableHe, maxHe) --kiszámolja a megadott százalékot pixelbe
- pixel = math.abs(math.floor(usabelHe * percent / 100) - usableHe)
- pixel = pixel + maxHe
- debugWrite("pixelCalc:"..pixel)
- return pixel
- end
- function drawGraph (pixelArray, monitor, maxW, minW) -- rajzol egy grafikont a pixel tömb alapján
- monitor.clear()
- monitor2= boot("monitor_2")
- for i=1, #pixelArray do
- if maxW-i < minW then
- paintutils.drawPixel(maxW-i, pixelArray[i], colours.blue)
- debugWrite("drawGraph: W= ".. maxW-i .. "H= " pixelArray[i])
- return
- else
- debugWrite("drawGrap: end of draw")
- return
- end
- end
- return
- end
- function updatePixelArray(oldArray, newPercent) --létrehozza a pixel tömböt
- newArray = {}
- newArray[1] = newPercent
- debugWrite("updatePixel")
- for i = 1, #oldArray - 1 do
- newArray[i+1] = oldArray[i]
- end
- return newArray
- end
- function usabelHe (minHe, maxHe)
- return maxHe-minHe
- end
- function createBlankArray(maxWi,minWi)
- usableWi = maxWi - minWi
- blankArray = {}
- for i = 1, usableWi do
- blankArray[i] = 0
- end
- return blankArray
- end
- function boot (side)
- if peripheral.isPresent(side) == true then
- return peripheral.wrap(side)
- else
- os.exit()
- end
- end
- function toltSzaz (re)
- stor = re.getEnergyStored()
- storMax = re.getMaxEnergyStored()
- return stor / storMax * 100
- end
- function setOffSend (re)
- re.setEnergySend(0)
- end
- function setOnSend (re)
- re.setEnergySend(100)
- end
- function checkArray (perArray)
- toltArray = {}
- for i=1, #perArray do
- toltArray[i] = toltSzaz(perArray[i])
- end
- return toltArray
- end
- function debugWrite (input)
- debugMonitor = boot("monitor_1")
- local _,CY= debugMonitor.getCursorPos()
- debugMonitor.setCursorPos(1,CY+1)
- debugMonitor.write(input)
- return
- end
- perID ={"redstone_energy_cell_0","redstone_energy_cell_1","redstone_energy_cell_2","redstone_energy_cell_3","redstone_energy_cell_4"}
- perWrapped = {}
- monitor = boot("monitor_0")
- monitorDebug = boot("monitor_1")
- term.redirect(monitor)
- dataArray = {}
- local monitorW, monitorH = monitor.getSize()
- dataArray = createBlankArray(monitorW, 1);
- while true do
- for i = 1, #perID do
- perWrapped[i] = boot(perID[i])
- end
- toltott = checkArray(perWrapped)
- ossz = 0
- for i = 1, #toltott do
- ossz = ossz + toltott[i]
- end
- ossz = ossz / 5
- rsSide = "top"
- if ossz > 90 then
- redstone.setOutput(rsSide, false)
- sleep(10)
- else
- redstone.setOutput(rsSide, true)
- end
- dataArray = updatePixelArray(dataArray, monitorH)
- drawGraph(dataArray, monitor, monitorW, 1)
- sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement