![]() |
![]() ![]() |
![]() |
Baumanec |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
прохождение объекта по "карте" (двумерный массив(булевский)) тру=можно фолс=нельзя.
Идея пришла уже как 2 месяца назад, но внятной реализации придумать не могу, всегда нахожу ситуации где она сорвёться... Предлагаю обсудить алгоритм прохождения объекта по "карте" (двумерный массив(булевский)). |
Michael_Rybak |
![]()
Сообщение
#2
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
эта задача - одна из классических.
не думаю, что тут есть особо что обсуждать. поищи (в гугле и здесь) "волновой алгоритм", "метод волны", "лабиринт поиск в ширину". |
andriano |
![]()
Сообщение
#3
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Для пошаговых стратегий - да. Еще советую "алгоритм Дейкстры".
Для реалтаймовых еще советую поискать алгоритм A*. |
Baumanec |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну как в старике устроенно это просто, там как бы наложение ландшафта, а потом при столкновении с юнитами уже меньше обсчитывать...
|
Baumanec |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Или я вообще ничего не понимаю, но в первом же выпавшем алгоритме ошибка...
Алгоритм Или я не прав... А так принцип ясен, я совершенно в другую сторону думал... |
andriano |
![]()
Сообщение
#6
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Изложена ужасно неоптимальный вариант алгоритма.
До конца не читал, но начало, вроде бы, правдоподобное. |
Baumanec |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Там он волну запускает от старта, и собирает тоже...
А как экономней сделать, это ясно... Сообщение отредактировано: Baumanec - 16.05.2008 17:43 |
andriano |
![]()
Сообщение
#8
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Почему от старта?
Там конечной точке присваивается 0, а потом ищутся точки, совпадающие со счетчиком, начальное значение которого тоже 0, т.е. ищется, как и положено от конца к началу. |
Baumanec |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Блин действительно, чё-то я не разглядел, 3 раза читал, сам понял как делать, а казалось что тут ошибка, но после пяти раз я уже сам додумал.
|
![]() ![]() |
![]() |
Текстовая версия | 7.07.2025 17:14 |