diff options
author | ubq323 <ubq323@ubq323.website> | 2022-06-27 23:54:48 +0100 |
---|---|---|
committer | ubq323 <ubq323@ubq323.website> | 2022-06-27 23:54:48 +0100 |
commit | 3f6068ab48f00b6176b73315ebbe08027dc6f1f2 (patch) | |
tree | e3914386549f1fd96495d777301a9273b0d3c8f3 | |
parent | fc6b1a255c1f962816e7a2b942b9275c9c197bb8 (diff) |
hole
-rw-r--r-- | hole.lua | 22 | ||||
-rw-r--r-- | pm.lua | 8 |
2 files changed, 24 insertions, 6 deletions
@@ -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 @@ -1,7 +1,11 @@ local function dl(filename) - local file=fs.open("/"..filename..".lua","w") - local res = http.get("https://g.gh0.pw/ccprogs/plain/"..filename..".lua") + local file,err=fs.open("/"..filename..".lua","w") + if err then error("fs.open",err) end + local res,err = http.get("https://g.gh0.pw/ccprogs/plain/"..filename..".lua") + if err then error("http.get",err) end file.write(res.readAll()) + file.flush() + file.close() end dl(arg[1]) |