Сейчас на форуме: zds (+5 невидимых) |
![]() |
eXeL@B —› Программирование —› Двумерном лабиринте - волновой алгоритм/ребята подскажите где ошибка? |
Посл.ответ | Сообщение |
|
Создано: 05 марта 2014 15:26 · Поправил: Abraham · Личное сообщение · #1 Двумерном лабиринте - волновой алгоритм. в стороны от исходной точки распростроняется волна. Начальное значение волны - ноль. То есть ближайшие точки, в которые можно пойти, например, верх, низ, левая и правая, и которые еще не затронуты волной, получают значение волны+некоторый модификатор проходимости этой точки. Чем он больше - тем медленнее преодоление данного участка. Значение волны увеличивается на 1. Обрабатываем аналогично клетки, отходя от тех, на которой значение волны - 2. При этом на клетках с худшей проходимостью волна задержится. И так дальше все обрабатывается, пока не достигнута конечная точка маршрута. Сам путь в получившемся массиве значений волны вычисляется по наименьшим клеткам. Code:
![]() |
|
Создано: 05 марта 2014 15:31 · Личное сообщение · #2 |
|
Создано: 05 марта 2014 15:46 · Поправил: mysterio · Личное сообщение · #3 |
|
Создано: 05 марта 2014 16:49 · Личное сообщение · #4 |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 05 марта 2014 17:11 · Личное сообщение · #5 Поддерживаю ОКОВ, собственно суть ошибки не указана. ...Пришло на память, по теме: в X-COM Ufo Defence существовал прикол с вмурованным в стенку пришельцем из-за ошибки в генераторе позиций юнитов. Разве что, такие костыли могут быть ![]() ![]() |
|
Создано: 19 марта 2014 14:11 · Личное сообщение · #6 |
|
Создано: 16 апреля 2014 03:46 · Личное сообщение · #7 |
![]() |
eXeL@B —› Программирование —› Двумерном лабиринте - волновой алгоритм/ребята подскажите где ошибка? |