Показать сообщение отдельно
Старый 21.01.2011, 23:25   #15
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: A* и способы его оптимизации

Судя по коду это вовсе не А* а обычный алгоритм заливки (алгоритм Дикстры, точнее его жалкое подобие), причем если вы построите хороший лабиринт, то он не зальет даже карту целиком.
Отличие алгоритма А* от Дикстры в том, что волновой поиск "включается" только при столкновении с препятствием, а до этого он работает как обычный алгоритм приближения.
Алгоритм Дикстры используется когда нужно найти хотя-бы один объект из множества. Пример Dune2 спайса много, харвестер один, пускаем волновую заливку во все стороны пока не наткнемся на спайс. Далее прокладываем путь.
Его можно также наверное использовать чтобы проложить путь от цели к группе юнитов.
А* используется только когда нужно проложить путь для одного юнита.
Миниатюры
Нажмите на изображение для увеличения
Название: pathfind.jpg
Просмотров: 1006
Размер:	200.1 Кб
ID:	12436  
(Offline)
 
Ответить с цитированием