diff --git a/src/main/resources/assets/warpdrive/lua.ComputerCraft/warpdriveRadar/scan b/src/main/resources/assets/warpdrive/lua.ComputerCraft/warpdriveRadar/scan index 4144dbaa..4ad09ecd 100644 --- a/src/main/resources/assets/warpdrive/lua.ComputerCraft/warpdriveRadar/scan +++ b/src/main/resources/assets/warpdrive/lua.ComputerCraft/warpdriveRadar/scan @@ -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() diff --git a/src/main/resources/assets/warpdrive/lua.OpenComputers/warpdriveRadar/scan.lua b/src/main/resources/assets/warpdrive/lua.OpenComputers/warpdriveRadar/scan.lua index 193998e5..8333049e 100644 --- a/src/main/resources/assets/warpdrive/lua.OpenComputers/warpdriveRadar/scan.lua +++ b/src/main/resources/assets/warpdrive/lua.OpenComputers/warpdriveRadar/scan.lua @@ -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() \ No newline at end of file