Я такое решал на первом курсе.
Первое, что приходит на ум - найди в сети алгоритм обхода препятствий.
Как раз твой случай - кот должен обойти препятствия и найти мышь.
Мое решение было таким
Кот стремился к мышке. Если впереди преграда - он идет в первый свободный проход, предпочитая, например сначала тыкнуться вправо. и так до поворота назад,
так он продолжает идти пока или слева или справа не кончится стена в сторону, где "координаты" мыши.
воткнувшись в тупит ставит "невидимые" метки и больше туда никогда не пойдет, если мышь их не снимет тем, что пройдет по ним.
В программе это грубо говоря выглядело кодом 233 - он ничего не значил и был также "полом", но пробегая. мышь ставил меняла 233 на 0.
Зато кот догонял мышь бешенно быстро и чтобы убежать, надо было моментально искать крайтчайший путь до выхода.
Азарт был, у меня даже исходники где-то валялись, но переписать ее на Дельфи нет времени, а теперь не запускается. так как делалась "под ту" архитектуру ДОС.
|