Как решить этот лабиринт?

Как решить данный лабиринт с помощью блоков? ограничение по количеству блоков девять

Я уже 3 часа ломаю голову над этой задачей. Ограничение по количеству блоков девять


Ответы (2 шт):

Автор решения: pieceofAir

Не очень понятно, где находится исходная позиция стрелки(не указано), но если это она и есть, то вот возможный вариант решения.

Repeat Until

Move forward
turn_right

if isPathForward:

        move_forward

    else:

        if isPathLeft:

            turn_left

        else:

            turn_right
→ Ссылка
Автор решения: Stanislav Volodarskiy

Правило левой руки.

Встаньте так чтобы ваша левая рука касалась стены.  
Повторяйте в цикле.
    Если левая рука не касается стены,
        повернитесь налево, сделайте шаг.
    Если левая рука касается стены и впереди свободно,
        сделайте шаг.
    Если левая рука касается стены и впереди стена,
        повернитесь направо.

Нетрудно убедится что при таком движении ваша левая рука или касается стены в конце цикла или коснётся её на следующем цикле. Посмотрите на лабиринт и убедитесь что касаясь стены вы доберётесь до звезды.

repeat until *
    isPathLeft
        turn left
        move forward
    else
        isPathForward
            move forward
        else
            turn right
→ Ссылка