Lua Программирование с ComputerCraft

Я создал небольшую программу, которая запрашивает длину и высоту, которые вы хотите, чтобы моя шахтерская черепаха. Когда я запускаю его на продвинутом компьютере, он позволяет запрашивать длину, ширину и высоту, но затем я получаю ошибку. Ошибка заключается в следующем:

Майнер: попытка индексировать? (нулевое значение)

Вот мой код:

term.clear()
term.setCursorPos(1,1)





write("Length:")
length = read()
print()
write("Confirm:")
ul = read()
print()

write("Width:")
width = read()
print()
write("Confirm:")
uw = read()
print()

write("Height:")
height = read()
print()
write("Confirm:")
uh = read()
print()

local totcount = ul + uw + uh
local subcount = 0




function Length()

repeat 

    turtle.dig()
    turtle.forward()
    length = length - 1
    subcount = subcount + 1

until length == 0
length = ul

end

function Width()

repeat

    turtle.dig()
    turtle.forward()
    width = width - 1
    subcount = subcount + 1

until width == 0
width = uw
end

function Height()
turtle.digDown()
turtle.down()
height = height - 1
subcount = subcount + 1
end

function Turn()

turtle.turnRight()

end



repeat

Length()
Turn()
Width()
Turn()
Length()
Turn()
Width()
Turn()
Height()

until subcount == totcount

1 ответ

Решение

Это не выглядит ни одна из ваших функций end, исправь это в первую очередь. Если вы правильно сделаете отступ в своем коде, вы увидите это.

У вас также есть while count < length do с else блок. AFAIK это неверный синтаксис (никогда не видел его и просто проверил онлайн-руководство и вики). Не понятно, имелось ли в виду if count < length do, но если действительно имелось в виду while затем заменить else от end тоже не выглядит правильно. Внимательно посмотрите на этот раздел кода.

Другие вопросы по тегам