Просмотр полной версии : Поиск объекта и прокладка пути к нему
npc-персонаж должен искать вокруг себя объекты (скажем золото). Все это находится на двухмерной матрице. Как сделать алгоритм поиска? Готовое решение не требуется, просто я не могу понять как это сделать.
Перебирает массив со списком объектов, рассчитывает дальности по координатам себя и обьекта и тащит ближайший. имхо.
Прокладка пути - гуглим и читаем про A* или A-Star.
Sergey_A
06.01.2012, 12:09
Посмотрите статью http://xitri.com/2008/09/22/simple-engine-flash-game-top-view.html - там алгоритм движения объекта. Там он дивжется за курсором, у вас будет - за золотом.
Спасибо за хорошую статью, но дело в том что персонаж должен не только дойти до золота, но также должен и найти ближайшее к нему. Как вот это сделать?
n06rin
Алгоритм поиска пути вам нужен, их множество. Я когда то юзал алгоритм метода волн. Нашел описание в инете и переписал на ас.
так ему же надо идти к чему-то. Дело в том что ячеек золота может быть много, и ему надо найти ближний к нему. Как это сделать?
n06rin, если нет препятствий, последовательно рассчитать дальности до нескольких точек и выбрать наименьшую. dark256 об этом говорил.
Если есть препятствия - включаем алгоритм поиска минимального пути, просто узнаем - какой путь будет оптимальный. Выбрав путь, отправляем героя.
Точнее, так - находим точку "золото", путь до которой будет минимальным.
Как это сделать - это ваш контекст. Либо, если есть препятствия, то есть если путь - не одна прямая, то А-star использовать (Вот уже есть реализация (http://www.flasher.ru/forum/showpost.php?p=759234&postcount=12)) или другой алгоритм. Либо, если нет препятствий, теорему Пифагора.
После этого отправляем персонажа.
Собсна вот та тема, где я тоже когда-то спрашивал про поиск пути:
http://www.flasher.ru/forum/showthread.php?t=122115
А вот это я нашол сейчас в гугле:
http://tsutmb.ru/imfi/parca/src/dubovitskui_2010_15_6.pdf
Удачи.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.