Для перемещения по полям с препятствиями используют, например, алгоритм Ли для поиска кратчайшего пути от старта до финиша. 1
Суть алгоритма: 1
- Программа распознаёт поле в виде двумерного массива. 1 Пустое место обозначается значением «−2», а точки с препятствиями — значением «−1». 1
- Выбирается стартовая точка и ей задаётся значение «0». 1 Значение точки финиша при этом не меняется. 1
- Поле сканируется из точки старта «волной». 1 Значение каждой соседней ячейки увеличивается на 1 (0 → 1 → 2 → 3 и так далее). 1
- Как только значение ячейки финиша меняется, поиск останавливается, путь уже найден. 1
Также для перемещения по полям с препятствиями используют команды проверки условий, которые проверяют, свободен ли путь в каждом из четырёх возможных направлений. 3 Эти команды используют вместе с условием «если» и последовательностью команд. 35