Здравствуйте, решил сделать лайтовую ферму латекса, но я не пойму почему робот не следует алгоритму, помогите найти ошибку в моей конструкции, и как ее правильно написать?
Ряд из фермы латекса выглядит таким образом:
Скрытый текст
@ дерево
# свободный блок
> Робот
@>@
###
###
@#@
###
###
@#@
###
###
@#@
###
###
@#@
Tree()-функция при которой робот обходит дерево со всех сторон и собирает латекс и становится в начальное положение, лицом к дереву ( то есть продолжит один раз вокруг дерева).
ToTre()-функция при которой робот после обхода дерева, переходит к другому дереву, то есть поворачивает направо, делает вперёд два шага, поворачивает налево.
Сама часть кода:
Function Latex()
For x=1, 10 do
For a=1, 5 do
Tree()
If x<5 then
ToTree()
If x==5 then
robot.turnAround()
robot.forward()
End
End
End
End
В конечном итоге должно получится так: после прохода последнего дерева из первого ряда, робот делает разворот на 180 градусов и приступает обходить деревья уже на втором ряде.
Но дело в том что он не останавливается на последнем дереве первого ряда а идёт дальше, то есть игнорирует
If x<5 then
ToTree()
К тому же он не поворачивается назад когда x=5
Помогите пожалуйста исправить код, подскажите как надо сделать, заранее всем спасибо !
Здравствуйте, решил сделать лайтовую ферму латекса, но я не пойму почему робот не следует алгоритму, помогите найти ошибку в моей конструкции, и как ее правильно написать?
Ряд из фермы латекса выглядит таким образом:
@ дерево
# свободный блок
> Робот
@>@
###
###
@#@
###
###
@#@
###
###
@#@
###
###
@#@
Tree()-функция при которой робот обходит дерево со всех сторон и собирает латекс и становится в начальное положение, лицом к дереву ( то есть продолжит один раз вокруг дерева).
ToTre()-функция при которой робот после обхода дерева, переходит к другому дереву, то есть поворачивает направо, делает вперёд два шага, поворачивает налево.
Сама часть кода:
Function Latex()
For x=1, 10 do
For a=1, 5 do
Tree()
If x<5 then
ToTree()
If x==5 then
robot.turnAround()
robot.forward()
End
End
End
End
В конечном итоге должно получится так: после прохода последнего дерева из первого ряда, робот делает разворот на 180 градусов и приступает обходить деревья уже на втором ряде.
Но дело в том что он не останавливается на последнем дереве первого ряда а идёт дальше, то есть игнорирует
If x<5 then
ToTree()
К тому же он не поворачивается назад когда x=5
Помогите пожалуйста исправить код, подскажите как надо сделать, заранее всем спасибо !
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах