Baumanec
14.05.2008 23:55
прохождение объекта по "карте" (двумерный массив(булевский)) тру=можно фолс=нельзя.
Идея пришла уже как 2 месяца назад, но внятной реализации придумать не могу, всегда нахожу ситуации где она сорвёться...
Предлагаю обсудить алгоритм прохождения объекта по "карте" (двумерный массив(булевский)).
Michael_Rybak
15.05.2008 0:06
эта задача - одна из классических.
не думаю, что тут есть особо что обсуждать. поищи (в гугле и здесь) "волновой алгоритм", "метод волны", "лабиринт поиск в ширину".
Для пошаговых стратегий - да. Еще советую "алгоритм Дейкстры".
Для реалтаймовых еще советую поискать алгоритм A*.
Baumanec
15.05.2008 23:08
Ну как в старике устроенно это просто, там как бы наложение ландшафта, а потом при столкновении с юнитами уже меньше обсчитывать...
Или я вообще ничего не понимаю, но в первом же выпавшем алгоритме ошибка...
АлгоритмИли я не прав...
А так принцип ясен, я совершенно в другую сторону думал...
Изложена ужасно неоптимальный вариант алгоритма.
До конца не читал, но начало, вроде бы, правдоподобное.
Baumanec
16.05.2008 21:42
Там он волну запускает от старта, и собирает тоже...
А как экономней сделать, это ясно...
andriano
16.05.2008 23:56
Почему от старта?
Там конечной точке присваивается 0, а потом ищутся точки, совпадающие со счетчиком, начальное значение которого тоже 0, т.е. ищется, как и положено от конца к началу.
Блин действительно, чё-то я не разглядел, 3 раза читал, сам понял как делать, а казалось что тут ошибка, но после пяти раз я уже сам додумал.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.