Updated radar scripts
Added workaround for OC OpenOS bug on background color handling Fixed title centering Code cleanup
This commit is contained in:
parent
cd9b221e99
commit
132ab7da5c
2 changed files with 48 additions and 45 deletions
|
@ -51,8 +51,8 @@ function translateXZ(oldX, oldZ, i)
|
|||
x = x + (w / 2)
|
||||
z = z + (h / 2)
|
||||
|
||||
x = math.floor(x);
|
||||
z = math.floor(z);
|
||||
x = math.floor(x)
|
||||
z = math.floor(z)
|
||||
|
||||
return x,z
|
||||
end
|
||||
|
@ -67,33 +67,33 @@ end
|
|||
function scanAndDraw()
|
||||
local energy, energyMax = radar.getEnergyLevel()
|
||||
if (energy < radius*radius) then
|
||||
hh = math.floor(h / 2);
|
||||
hw = math.floor(w / 2);
|
||||
hh = math.floor(h / 2)
|
||||
hw = math.floor(w / 2)
|
||||
|
||||
paintutils.drawLine(hw - 5, hh - 1, hw + 5, hh - 1, colors.red);
|
||||
paintutils.drawLine(hw - 5, hh, hw + 5, hh, colors.red);
|
||||
textOut(hw - 4, hh,"LOW POWER", colors.white, colors.red);
|
||||
paintutils.drawLine(hw - 5, hh + 1, hw + 5, hh + 1, colors.red);
|
||||
sleep(1);
|
||||
paintutils.drawLine(hw - 5, hh - 1, hw + 5, hh - 1, colors.red)
|
||||
paintutils.drawLine(hw - 5, hh, hw + 5, hh, colors.red)
|
||||
textOut(hw - 4, hh,"LOW POWER", colors.white, colors.red)
|
||||
paintutils.drawLine(hw - 5, hh + 1, hw + 5, hh + 1, colors.red)
|
||||
sleep(1)
|
||||
|
||||
return 0;
|
||||
end;
|
||||
radar.scanRadius(radius);
|
||||
sleep(2);
|
||||
return 0
|
||||
end
|
||||
radar.scanRadius(radius)
|
||||
sleep(2)
|
||||
|
||||
redraw();
|
||||
redraw()
|
||||
|
||||
numResults = radar.getResultsCount();
|
||||
numResults = radar.getResultsCount()
|
||||
|
||||
if (numResults ~= 0) then
|
||||
for i = 0, numResults-1 do
|
||||
freq, cx, cy, cz = radar.getResult(i);
|
||||
freq, cx, cy, cz = radar.getResult(i)
|
||||
|
||||
drawContact(cx, cy, cz, freq, colors.red)
|
||||
end
|
||||
end
|
||||
|
||||
drawContact(radarX, radarY, radarZ, "RAD", colors.yellow);
|
||||
drawContact(radarX, radarY, radarZ, "RAD", colors.yellow)
|
||||
end
|
||||
|
||||
function redraw()
|
||||
|
@ -101,19 +101,19 @@ function redraw()
|
|||
|
||||
paintutils.drawLine(1, 1, w, 1, colors.black)
|
||||
|
||||
textOut(h, 1, "= Q-Radar v0.1 =", colors.white, colors.black)
|
||||
textOut((w / 2) - 8, 1, "= Q-Radar v0.1 =", colors.white, colors.black)
|
||||
|
||||
textOut(w - 3, 1, "[X]", colors.white, colors.red)
|
||||
|
||||
paintutils.drawLine(1, h, w, h, colors.black);
|
||||
paintutils.drawLine(1, h, w, h, colors.black)
|
||||
local energy, energyMax = radar.getEnergyLevel()
|
||||
textOut(4, h, "Energy: " .. energy .. " EU | Scan radius: " .. radius, colors.white, colors.black)
|
||||
end
|
||||
|
||||
radarX, radarY, radarZ = radar.pos()
|
||||
mrun = true
|
||||
while (mrun) do
|
||||
radarX, radarY, radarZ = radar.pos();
|
||||
scanAndDraw();
|
||||
scanAndDraw()
|
||||
end
|
||||
|
||||
term.clear();
|
||||
term.clear()
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
local component = require("component")
|
||||
local computer = require("computer")
|
||||
local term = require("term")
|
||||
radius = 500
|
||||
scale = 50
|
||||
|
@ -25,6 +26,7 @@ function textOut(x, y, text, fg, bg)
|
|||
component.gpu.setBackground(bg)
|
||||
component.gpu.setForeground(fg)
|
||||
component.gpu.set(x, y, text)
|
||||
component.gpu.setBackground(0x000000)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -35,6 +37,7 @@ function drawBox(x, y, width, height, color)
|
|||
if w then
|
||||
component.gpu.setBackground(color)
|
||||
component.gpu.fill(x, y, width, height, " ")
|
||||
component.gpu.setBackground(0x000000)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -49,8 +52,8 @@ function translateXZ(oldX, oldZ, i)
|
|||
x = x + (w / 2)
|
||||
z = z + (h / 2)
|
||||
|
||||
x = math.floor(x);
|
||||
z = math.floor(z);
|
||||
x = math.floor(x)
|
||||
z = math.floor(z)
|
||||
|
||||
return x,z
|
||||
end
|
||||
|
@ -65,31 +68,31 @@ end
|
|||
function scanAndDraw()
|
||||
local energy, energyMax = radar.getEnergyLevel()
|
||||
if (energy < radius * radius) then
|
||||
hh = math.floor(h / 2);
|
||||
hw = math.floor(w / 2);
|
||||
hh = math.floor(h / 2)
|
||||
hw = math.floor(w / 2)
|
||||
|
||||
drawBox(hw - 5, hh - 1, 11, 3, 0xFF0000);
|
||||
textOut(hw - 4, hh, "LOW POWER", 0xFFFFFF, 0xFF0000);
|
||||
os.sleep(1);
|
||||
drawBox(hw - 5, hh - 1, 11, 3, 0xFF0000)
|
||||
textOut(hw - 4, hh, "LOW POWER", 0xFFFFFF, 0xFF0000)
|
||||
os.sleep(1)
|
||||
|
||||
return 0;
|
||||
end;
|
||||
radar.scanRadius(radius);
|
||||
os.sleep(2);
|
||||
return 0
|
||||
end
|
||||
radar.scanRadius(radius)
|
||||
os.sleep(2)
|
||||
|
||||
redraw();
|
||||
redraw()
|
||||
|
||||
numResults = radar.getResultsCount();
|
||||
numResults = radar.getResultsCount()
|
||||
|
||||
if (numResults ~= 0) then
|
||||
for i = 0, numResults-1 do
|
||||
freq, cx, cy, cz = radar.getResult(i);
|
||||
freq, cx, cy, cz = radar.getResult(i)
|
||||
|
||||
drawContact(cx, cy, cz, freq, 0xFF0000)
|
||||
end
|
||||
end
|
||||
|
||||
drawContact(radarX, radarY, radarZ, "RAD", 0xFFFF00);
|
||||
drawContact(radarX, radarY, radarZ, "RAD", 0xFFFF00)
|
||||
end
|
||||
|
||||
function redraw()
|
||||
|
@ -97,10 +100,10 @@ function redraw()
|
|||
|
||||
drawBox(1, 1, w, 1, 0x000000)
|
||||
drawBox(1, 1, 1, h, 0x000000)
|
||||
drawBox(1, h, w, 1, 0x000000);
|
||||
drawBox(w, h, 1, h, 0x000000);
|
||||
drawBox(1, h, w, 1, 0x000000)
|
||||
drawBox(w, 1, w, h, 0x000000)
|
||||
|
||||
textOut(h, 1, "= Q-Radar v0.1 =", 0xFFFFFF, 0x000000)
|
||||
textOut((w / 2) - 8, 1, "= Q-Radar v0.1 =", 0xFFFFFF, 0x000000)
|
||||
|
||||
textOut(w - 3, 1, "[X]", 0xFFFFFF, 0xFF0000)
|
||||
|
||||
|
@ -108,10 +111,10 @@ function redraw()
|
|||
textOut(4, h, "Energy: " .. energy .. " EU | Scan radius: " .. radius, 0xFFFFFF, 0x000000)
|
||||
end
|
||||
|
||||
mrun = true
|
||||
while (mrun) do
|
||||
radarX, radarY, radarZ = radar.pos();
|
||||
scanAndDraw();
|
||||
radarX, radarY, radarZ = radar.pos()
|
||||
|
||||
while component.isAvailable("warpdriveRadar") do
|
||||
scanAndDraw()
|
||||
end
|
||||
|
||||
term.clear();
|
||||
term.clear()
|
Loading…
Reference in a new issue