summaryrefslogtreecommitdiff
path: root/hole.lua
diff options
context:
space:
mode:
authorubq323 <ubq323@ubq323.website>2022-06-27 23:54:48 +0100
committerubq323 <ubq323@ubq323.website>2022-06-27 23:54:48 +0100
commit3f6068ab48f00b6176b73315ebbe08027dc6f1f2 (patch)
treee3914386549f1fd96495d777301a9273b0d3c8f3 /hole.lua
parentfc6b1a255c1f962816e7a2b942b9275c9c197bb8 (diff)
hole
Diffstat (limited to 'hole.lua')
-rw-r--r--hole.lua22
1 files changed, 18 insertions, 4 deletions
diff --git a/hole.lua b/hole.lua
index 6dbae37..8eb8c68 100644
--- a/hole.lua
+++ b/hole.lua
@@ -9,14 +9,28 @@ local scanner = assert(peripheral.wrap"right")
local laser = assert(peripheral.wrap"left")
while true do
- local targets = {}
local scanned = scanner.scan()
- for _,v in ipairs(scanned) do
+ local targets = {}
+ for _,s in ipairs(scanned) do
+ local should_add = true
+ for i,t in ipairs(targets) do
+ if t.x == s.x and t.z == s.z then
+ should_add = false
+ if s.y > t.y then
+ targets[i] = s
+ end
+ end
+ end
+ if should_add then
+ table.insert(targets,s)
+ end
+ end
+ for _,v in ipairs(targets) do
if v.z <= 7 and v.z >= -8
and v.x <= 7 and v.x >= -8
and v.y < 0 then
- local yaw,pitch = yaw_pitch(t.x,t.y,t.z)
+ local yaw,pitch = yaw_pitch(v.x,v.y,v.z)
laser.fire(yaw,pitch,4)
end
end
-until #targets == 0
+end