Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sizeX = 7
- sizeY = 14
- g = peripheral.wrap("left")
- local function valueX()
- local h = fs.open("x", "r")
- local X = h.readAll()
- h.close()
- print(X)
- return X
- end
- local function valueY()
- local h = fs.open("y", "r")
- local Y = h.readAll()
- h.close()
- return Y
- end
- local function saveX(x)
- local h = fs.open("x","w")
- h.write(x)
- h.close()
- end
- local function saveY(y)
- local h = fs.open("y","w")
- h.write(y)
- h.close()
- end
- local function saveDir(dir)
- local h = fs.open("dir","w")
- h.write(dir)
- h.close()
- end
- local function check()
- if turtle.detectDown() == true then
- turtle.digDown()
- turtle.select(1)
- turtle.placeDown()
- end
- end
- function setDir(d)
- local h = fs.open("dir","r")
- local curDir = tonumber(h.readAll())
- print(curDir)
- h.close()
- local diff = (curDir - d)
- if diff < 0 then
- for i=1,math.abs(diff) do
- turtle.turnRight()
- curDir = curDir + 1
- if curDir >= 5 then
- curDir = 1
- end
- end
- elseif diff > 0 then
- for i=1,math.abs(diff) do
- turtle.turnLeft()
- curDir = curDir - 1
- if curDir <= 0 then
- curDir = 4
- end
- end
- else
- return true
- end
- saveDir(curDir)
- if curDir - d == 0 then
- return true
- else
- return false
- end
- end
- local function Home()
- local thisX = tonumber(valueX())
- local thisY = tonumber(valueY())
- local newY = thisY
- local newX = thisX
- if thisX > 0 then
- setDir(2)
- for i=1,thisX do
- turtle.forward()
- newX = newX-1
- end
- saveX(newX)
- end
- if thisY > 0 then
- setDir(3)
- for i=1,thisY do
- turtle.forward()
- newY = newY-1
- end
- saveY(newY)
- end
- if newY == 0 and newX == 0 then
- return true
- else
- return false
- end
- end
- if Home() then
- setDir(1)
- while true do
- for x=0,sizeX do
- for y=0,sizeY do
- turtle.forward()
- saveY(y)
- check()
- end
- if (valueX() % 2) == 0 then
- turtle.turnLeft()
- turtle.forward()
- turtle.turnLeft()
- saveDir(3)
- else
- turtle.turnRight()
- turtle.forward()
- turtle.turnRight()
- saveDir(1)
- end
- saveX(x)
- end
- Home()
- setDir(1)
- sleep(10)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement