-- essentia reader computer FSM--
os.loadAPI("button")
os.loadAPI("melStart")
m = peripheral.find("monitor")
p = peripheral.find("EssentiaProvider")
local x,y,z,v
local n,a
local colorsToUse = {colors.green,colors.blue,colors.brown}
local colorTracker, collumnTracker, rowTracker
local rowOffset, collumnOffset, collumnOffset2, rowLimit, collumnLimit
--Set up some important 'local' globals (srsly lua?)
collumnOffset = 18
collumnOffset2 = 13 --Used for variable
rowOffset = 1
collumnLimit = 3
rowLimit = 15
n = -1
a = 0
x = 1
y = 0
z = y
lineblank = ""
aspectNum = 48
function aspectTable()
--Grab the nonbeliever table
local tempList = {p.getAspects()}
--Now convert (I hope)
eTable = {}
local iTemp2 = 0
for iTemp=1,table.getn(tempList),2 do
iTemp2 = iTemp2 + 1
eTable[iTemp2] = {}
eTable[iTemp2].name = tempList[iTemp]
eTable[iTemp2].amount = tempList[iTemp+1]
end
--Attempt the sorting
local sort_func = function( a,b ) return a.name < b.name end
table.sort( eTable, sort_func )
end
function aspectDis()
--Reset trackers
colorTracker = 0
collumnTracker = 0
rowTracker = 0
--Do out first setup
--m.setTextColor(colorsToUse[colorTracker])
for i, result in ipairs( eTable ) do
--Position the cursor
m.setCursorPos(1+(collumnOffset*collumnTracker), 1+(rowOffset*rowTracker))
m.write(result.name)
m.setCursorPos(collumnOffset2+(collumnOffset*collumnTracker), 1+(rowOffset*rowTracker))
m.write(":" .. result.amount)
--Bump down a row
rowTracker = rowTracker + 1
--If rowTracker is equal to rowLimit,
--reset and bump collumnTracker
if(rowTracker == rowLimit) then
rowTracker = 0
collumnTracker = collumnTracker + 1
--Also set the colorTracker
colorTracker = colorTracker + 10
--m.setTextColor(colorsToUse[colorTracker])
end
end
end
--melStart.startup()
m.setBackgroundColor(colors.purple)
m.setTextColor(colors.black)
m.setTextScale(1.5)
while true do
m.clear()
aspectTable()
aspectDis()
sleep(1)
end
Comments
0 B
|👍
/👎