This commit is contained in:
Julian Brammer 2024-06-22 00:24:29 +02:00
parent 1e29d967cf
commit 6ff663bb44

View File

@ -1,3 +1,5 @@
local basic = require("basic")
--secure digging wrappers
local function secureDig()
while turtle.detect() do
@ -19,68 +21,96 @@ end
--location returning move wrapper
--https://www.youtube.com/watch?v=bZe5J8SVCYQ
local function forward(x, y, z, r)
if turtle.forward() then
sleep(1)
if r == 0 then
z = z + 1
elseif r == 1 then
x = x - 1
elseif r == 2 then
z = z - 1
elseif r == 3 then
x = x + 1
end
end
return x,y,z,r
local function savePos()
basic.writeToFile("brulijam/files/pos.txt", textutils.serialize(state))
end
local function back(x, y, z, r)
local function getPos()
if not fs.exists "brulijam/files/pos.txt" then
basic.clearDisplay()
print("[Postion init]")
write("x: ")
x = read()
write("y: ")
y = read()
write("z: ")
z = read()
write("r (S=0,W=1,N=2,E=3):")
r = read()
basic.clearDisplay()
pos = {}
pos["x"] = x
pos["y"] = y
pos["z"] = z
pos["r"] = r
basic.writeToFile("brulijam/files/pos.txt", textutils.serialize(pos))
else
pos = basic.readFileAll("brulijam/files/pos.txt")
pos = textutils.unserialize(pos)
end
return pos
end
local function forward()
if turtle.forward() then
local pos = getPos()
sleep(1)
if pos["r"] == 0 then
pos["z"] = pos["z"] + 1
elseif pos["r"] == 1 then
pos["x"] = pos["x"] - 1
elseif pos["r"] == 2 then
pos["z"] = pos["z"] - 1
elseif pos["r"] == 3 then
pos["x"] = pos["x"] + 1
end
end
end
local function back()
sleep(1)
if turtle.back() then
if r == 0 then
z = z - 1
elseif r == 1 then
x = x + 1
elseif r == 2 then
z = z + 1
elseif r == 3 then
x = x - 1
if pos["r"] == 0 then
pos["z"] = pos["z"] - 1
elseif pos["r"] == 1 then
pos["x"] = pos["x"] + 1
elseif pos["r"] == 2 then
pos["z"] = pos["z"] + 1
elseif pos["r"] == 3 then
pos["x"] = pos["x"] - 1
end
end
return x,y,z,r
end
local function up(y)
local function up()
sleep(1)
if turtle.up() then
y = y + 1
pos["y"] = pos["y"] + 1
end
return y
end
local function down(y)
local function down()
sleep(1)
if turtle.down() then
y = y - 1
pos["y"] = pos["y"] - 1
end
return y
end
local function left(r)
local function left()
sleep(1)
if turtle.turnLeft() then
r = (r-1) % 4
pos["r"] = (pos["r"]-1) % 4
end
return r
end
local function right(r)
local function right()
sleep(1)
if turtle.turnRight() then
r = (r+1) % 4
pos["r"] = (pos["r"]+1) % 4
end
return r
end