time = 0.45
torch = 0
turn = 1
shell.run("clear")
length = tonumber((...))
back=length

if length == nil then
  print "How far?"
  length = tonumber(read())
  back = length
end

if type(length) ~= "number" then
  error("Only Use Numbers!!")
end

function dig()
   while turtle.detectUp() do
     turtle.digUp()
     sleep(time)
   end
   turtle.digDown()
end

function right()
  turtle.turnRight()
  while turtle.detect() do
    turtle.dig()
    sleep(time)
  end
  turtle.forward()
  dig()
  turtle.back()
  turtle.turnLeft()
end

function left()
  turtle.turnLeft()
  while turtle.detect() do
    turtle.dig()
    sleep(time)
  end
  turtle.forward()
  dig()
  turtle.back()
  if torch <= 0 then
    turtle.place()
    torch = 10
  end
  turtle.turnRight()
end

function turnAround()
  turtle.turnLeft()
  turtle.turnLeft()
end

function forward()
  while not turtle.forward() do
    turtle.dig()
    turtle.attack()
  end
end

while true do
  if turtle.getFuelLevel() < 3 then
    turtle.select(16)
    turtle.refuel(10)
    turtle.select(1)
  end
  if length > 0 then
    while turtle.detect() do
      turtle.dig()
      sleep(time)
    end
    turtle.forward()
    dig()
    right()
    left()
    torch = torch - 1
    length = length - 1
    print(length)
  else
    if back > 1 then
      if turn > 0 then
        turnAround()
        turn = 0
      end
      turtle.forward()
      forward()
      back = back - 1
      print(back)
    else
      error("FINISHED")
    end
  end
end
