Существует ли алгоритм хождения по часовой стрелке на дискретном поле

Есть игровое поле как на картинке, гриб осуществляет движение только в одном из 4 направлений, есть такой алгоритм, который описывает движения гриба по часовой стрелке на поле при том условии, что поле постоянно меняется? Препятствия появляются новые, поэтому движение по заложенному маршруту не подходит. игровое поле


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

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

Раз поле меняется, то на каждом шаге придётся проверять возможность хода по очереди в направлении:

  • налево от текущего направления
  • затем текущего
  • направо
  • разворот

Если текущее направление описывается вектором (dx, dy), то налево (-dy, dx), направо (dy, -dx), для остальных направлений должно быть понятно

→ Ссылка