GhostManSD Wrote:1). Сравнить координаты могстра и цели; если x2>x1, то приоритетное движение 1 - вправо (иначе - влево); если y2>y1, то приоритетное движение 2 - вниз (иначе - вверх).
2). Проверить, свободна ли клетка приоритетного движения; если да, то подвинуть монстра; иначе - проверить другие направления (включая направления по диагонали). Как только находится нужная клетка - подвинуть монстра.
Не всё так просто. Например, такой монстр не выберется из цикла: