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