Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- scambi = {}
- semafori = {}
- scambiPos = {}
- scambiName = {}
- scambiStatus = {}
- semaforiPos = {}
- semaforiName = {}
- semaforiStatus = {}
- function split(s, delimiter)
- result = {}
- for match in (s..delimiter):gmatch("(.-)"..delimiter) do
- table.insert(result, match)
- end
- return result
- end
- function scambio(x, y, type, color)
- local scambio = {}
- table.insert(scambio, color)
- table.insert(scambio, x)
- table.insert(scambio, y)
- table.insert(scambio, type)
- table.insert(scambi, scambio)
- table.insert(scambiPos, x .. "," .. y)
- table.insert(scambiName, color)
- table.insert(scambiStatus, "false")
- end
- function semaforo(x, y, color)
- local semaforo = {}
- table.insert(semaforo, color)
- table.insert(semaforo, x)
- table.insert(semaforo, y)
- table.insert(semafori, semaforo)
- table.insert(semaforiPos, x .. "," .. y)
- table.insert(semaforiName, color)
- table.insert(semaforiStatus, "false")
- end
- function getSemaforoPositionByName(color)
- for i, v in pairs(semaforiName) do
- if (v == color) then
- return semaforiPos[i]
- end
- end
- end
- function getScambioPosByName(color)
- for i, v in pairs(scambiName) do
- if (v == color) then
- return scambiPos[i]
- end
- end
- end
- function getScambioTypeByName(color)
- for i, v in pairs(scambiName) do
- if (v == color) then
- return scambi[i][4]
- end
- end
- end
- function getScambioNameByPos(x, y)
- for i, v in pairs(scambiPos) do
- if (x .. "," .. y == v) then
- return scambiName[i]
- end
- end
- end
- function viewScambi()
- for i, v in pairs(scambiName) do
- local dim = split(scambiPos[i], ",")
- local type = getScambioTypeByName(v)
- term.setCursorPos(tonumber(dim[1]), tonumber(dim[2]))
- term.setTextColor(colors.white)
- term.setBackgroundColor(colors.blue)
- if isScambioDeviato(v) == "true" then
- term.write(type)
- else
- term.write("-")
- end
- end
- end
- function isScambioDeviato(color)
- for i, v in pairs(scambiName) do
- if v == color then
- return scambiStatus[i]
- end
- end
- return false
- end
- function getSegnaleNumberInArray(color)
- for i, v in pairs(scambiName) do
- if v == color then
- return i
- end
- end
- return false
- end
- function setScambio(color)
- local pos = split(getScambioPosByName(color), ',')
- term.setCursorPos(tonumber(pos[1]), tonumber(pos[2]))
- term.setTextColor(colors.white)
- term.setBackgroundColor(colors.blue)
- local number = getSegnaleNumberInArray(color)
- if isScambioDeviato(color) == "true" then
- scambiStatus[number] = "false"
- else
- scambiStatus[number] = "true"
- end
- local actNumber = 0
- for i, v in pairs(scambiStatus) do
- if v == "true" then
- actNumber = actNumber + colors[scambiName[i]]
- end
- end
- rs.setBundledOutput("bottom", actNumber)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement