Это в основном проблема поиска пути из теории графов . Поля в сетке являются узлами, а все смежные поля связаны ребром.
Поиск пути - хорошо известная проблема, и существует множество алгоритмов, которые решают эту проблему. Поскольку ваш график довольно мал, лучшее решение здесь, вероятно, просто алгоритм грубой силы. Популярным алгоритмом поиска пути является алгоритм Дейкстры .
Грубая сила: Начните с какого-нибудь покемона и исследуйте все возможные способы, чтобы увидеть, ведет ли он к идентичным покемонам. Вы можете прекратить исследование пути, если путь заблокирован или имеет более 2 поворотов.
Вам понадобится некоторый «указатель», указывающий на поле в сетке. Указатель может перемещаться влево, вправо, вверх или вниз при условии, что поле в этом направлении не заблокировано. Переместите указатель на соседнее поле. Помните, откуда вы пришли и сколько оборотов вы сделали. Повторяйте это, пока не дойдете до пункта назначения. Вернитесь назад, если количество ходов достигнет 3. Убедитесь, что вы не бегаете кругами.