Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getHeading()
- local startPos = vector.new(gps.locate(3))
- turtle.refuel()
- for i=0,2,1 do
- local endPos = tryToMoveForward()
- if endPos then
- return getDirectionMoved(endPos - startPos)
- end
- turtle.up()
- end
- error('I have failed to get my bearings.')
- end
- local function tryToMoveForward()
- for i=0,3,1 do
- if turtle.forward() then
- local endPos = vector.new(gps.locate(3))
- turtle.back()
- return endPos
- end
- turtle.turnRight()
- sleep(1)
- end
- return false
- end
- local function getDirectionMoved(diff)
- if diff.z < 0 then
- return 0
- elseif diff.x > 0 then
- return 1
- elseif diff.z > 0 then
- return 2
- elseif diff.x < 0
- then return 3
- end
- error('diff of '.. diff.x..', '..diff.z..' indeterminate. I tried.')
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement