Advertisement
hoblin

Maze marker

Dec 4th, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.25 KB | None | 0 0
  1. local steps = 0
  2.  
  3. function placeCheckPoint()
  4.   turtle.select(1)
  5.   turtle.digDown()
  6.   turtle.down()
  7.   turtle.select(2)
  8.   turtle.digDown()
  9.   turtle.down()
  10.   turtle.select(3)
  11.   turtle.digDown()
  12.   turtle.down()
  13.   turtle.down()
  14.   turtle.placeDown()
  15.   turtle.up()
  16.   turtle.up()
  17.   turtle.up()
  18.   turtle.select(2)
  19.   turtle.placeDown()
  20.   turtle.up()
  21.   turtle.select(1)
  22.   turtle.placeDown()
  23.   turtle.digUp()
  24.   turtle.select(5)
  25.   turtle.placeUp()
  26. end
  27.  
  28. function step()
  29.   if tryForward() or tryLeft() or tryRight() then
  30.     steps = steps + 1
  31.     if steps > 18 then
  32.       placeCheckPoint()
  33.       steps = 0
  34.     end
  35.   else
  36.     print('Path: '..steps.." steps length")
  37.     exit()
  38.   end
  39. end
  40.  
  41. function isWay()
  42.   turtle.detectUp()
  43. end
  44.  
  45. function tryForward()
  46.   if turtle.forward() then
  47.     if turtle.detectUp() then
  48.       return true
  49.     else
  50.       turtle.back()
  51.       return false
  52.     end
  53.   else
  54.     return false
  55.   end
  56. end
  57.  
  58. function tryLeft()
  59.   turtle.turnLeft()
  60.   if tryForward() then
  61.     return true
  62.   else
  63.     turtle.turnRight()
  64.     return false
  65.   end
  66. end
  67.  
  68. function tryRight()
  69.   turtle.turnRight()
  70.   if tryForward() then
  71.     return true
  72.   else
  73.     turtle.turnLeft()
  74.     return false
  75.   end
  76. end
  77.  
  78. while true do
  79.   step()
  80. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement