ComputerCraft/TARDIM/NavDashTwo.lua

85 lines
2.1 KiB
Lua
Raw Normal View History

2024-03-10 23:45:44 +03:00
local tardim = peripheral.find("digital_tardim_interface")
local screen = peripheral.find("monitor")
-- This changes the colors to be like the gruvbox theme
local function SetColourscheme(screen, scheme)
local schemes = {
gruvbox = {
red = 0xfb4934,
blue = 0x83a598,
green = 0xb8bb26,
purple = 0xd3869b,
cyan = 0x8ec07c,
white = 0xf9f5d7,
black = 0x1d2021
},
starfield = {
red = 0xc72138,
blue = 0x304c7a,
yellow = 0xd7a64b,
white = 0xf4f5f7,
orange = 0xe06236,
black = 0x121212
}
}
for i, _ in pairs(schemes[scheme]) do
screen.setPaletteColour(colours[i], schemes[scheme][i])
end
end
local function DrawStripes(screen)
local stripes = {
[1] = 'b',
[2] = '4',
[3] = '1',
[4] = 'e'
}
local _, y = screen.getSize()
for h=1,y do
for w=1,4 do
screen.setCursorPos(w, h)
screen.blit(' ', '0', stripes[w])
end
end
end
local function DrawFuel(screen, fuel)
local bar_colours = {
[75] = 'd', -- green
[60] = '4', -- orange
[30] = '1', -- yellow
[1] = 'e' -- red
}
fuel = math.floor(fuel)
local col = bar_colours[1]
for i, _ in pairs(bar_colours) do
if fuel > i then
col = bar_colours[i]
break
end
end
local x, y = screen.getSize()
screen.setCursorPos(8, y - 2)
screen.write('FUEL - ' .. tostring(fuel))
screen.setCursorPos(8, y - 1)
screen.blit(string.rep(' ', x - 16), string.rep('8', x - 16), string.rep('8', x - 16))
screen.setCursorPos(8, y - 1)
screen.blit(string.rep(' ', x - 25), string.rep('8', x - 25), string.rep(col, x - 25))
end
SetColourscheme(screen, 'starfield')
screen.setCursorBlink(false)
screen.setTextScale(0.5)
screen.setTextColour(colours.black)
screen.setBackgroundColour(colours.white)
screen.clear()
DrawStripes(screen)
screen.setCursorPos(10, 5)
screen.write("Hello Universe!")
DrawFuel(screen, tardim.getFuel())