Advertisement
C07v0

SmartTurtle v0.6

Jun 12th, 2013
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.07 KB | None | 0 0
  1. term.clear()
  2. term.setCursorPos(1,1)
  3. print("SmartTurtle 0.5")
  4. function goLeft()
  5.   turtle.turnLeft()
  6.   turtle.forward()
  7. end
  8. function goRight()
  9.   turtle.turnRight()
  10.   turtle.forward()
  11. end
  12. function detect()
  13.   if not turtle.detect() then
  14.     forward = false
  15.   elseif turtle.detect() then
  16.     forward = true
  17.     turtle.turnRight()
  18.     if turtle.detect() then
  19.       right = true
  20.     elseif not turtle.detect() then
  21.       right = false
  22.     end
  23.     turtle.turnLeft()
  24.     turtle.turnLeft()
  25.     if turtle.detect() then
  26.       left = true
  27.     elseif not turtle.detect() then
  28.       left = false
  29.     end
  30.     turtle.turnRight()
  31.   end
  32.   if left == true and right == true and forward == false then
  33.     turtle.forward()
  34.   end
  35.   if left == false and right == true and forward == false then
  36.     turtle.forward()
  37.   end
  38.   if left == false and right == false and forward == true then
  39.     goRight()
  40.     if turtle.detect() then
  41.       canRight = false
  42.     elseif not turtle.detect() then
  43.       canRight = true
  44.     end
  45.     turtle.turnLeft()
  46.     turtle.turnLeft()
  47.     turtle.forward()
  48.     turtle.forward()
  49.     if turtle.detect() then
  50.       canLeft = false
  51.     elseif not turtle.detect() then
  52.       canLeft = true
  53.     end
  54.     if canLeft == true and canRight == true then
  55.       goRight()
  56.     end
  57.     if canLeft == true and canRight == false then
  58.       goLeft()
  59.     end
  60.     if canLeft == false and canRight == true then
  61.       goRight()
  62.     end
  63.   end
  64.   if left == false and right == true and forward == true then
  65.     goLeft()
  66.   end
  67.   if left == true and right == false and forward == true then
  68.     goRight()
  69.   end
  70.   if left == true and right == true and forward == true then
  71.     turtle.back()
  72.   end
  73. end
  74. function refuel()
  75.   turtle.select(16)
  76.   turtle.refuel()
  77. end
  78. print("How long do you want the turtle to be free? 0 for unlimited")
  79. term.write("Free: ")
  80. local ans = read()
  81. refuel()
  82. if ans == '0' then
  83.   while true do
  84.     for i = 1,20 do
  85.       detect()
  86.     end
  87.     refuel()
  88.   end
  89. else
  90.   for i = 1,ans do
  91.     detect()
  92.     turtle.forward()
  93.     refuel()
  94.   end
  95. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement