Показать сообщение отдельно
  #3  
Старый 21.09.2009, 16:46
Аватар для GrenLES
GrenLES GrenLES вне форума
Новичок
 
Регистрация: 12.05.2009
Сообщения: 51
Репутация: 13
По умолчанию

Я такое решал на первом курсе.

Первое, что приходит на ум - найди в сети алгоритм обхода препятствий.
Как раз твой случай - кот должен обойти препятствия и найти мышь.

Мое решение было таким

Кот стремился к мышке. Если впереди преграда - он идет в первый свободный проход, предпочитая, например сначала тыкнуться вправо. и так до поворота назад,
так он продолжает идти пока или слева или справа не кончится стена в сторону, где "координаты" мыши.
воткнувшись в тупит ставит "невидимые" метки и больше туда никогда не пойдет, если мышь их не снимет тем, что пройдет по ним.

В программе это грубо говоря выглядело кодом 233 - он ничего не значил и был также "полом", но пробегая. мышь ставил меняла 233 на 0.

Зато кот догонял мышь бешенно быстро и чтобы убежать, надо было моментально искать крайтчайший путь до выхода.

Азарт был, у меня даже исходники где-то валялись, но переписать ее на Дельфи нет времени, а теперь не запускается. так как делалась "под ту" архитектуру ДОС.
Ответить с цитированием