![]() |
Поиск объекта и прокладка пути к нему
npc-персонаж должен искать вокруг себя объекты (скажем золото). Все это находится на двухмерной матрице. Как сделать алгоритм поиска? Готовое решение не требуется, просто я не могу понять как это сделать.
|
Перебирает массив со списком объектов, рассчитывает дальности по координатам себя и обьекта и тащит ближайший. имхо.
Прокладка пути - гуглим и читаем про A* или A-Star. |
Посмотрите статью http://xitri.com/2008/09/22/simple-e...-top-view.html - там алгоритм движения объекта. Там он дивжется за курсором, у вас будет - за золотом.
|
Спасибо за хорошую статью, но дело в том что персонаж должен не только дойти до золота, но также должен и найти ближайшее к нему. Как вот это сделать?
|
n06rin
Алгоритм поиска пути вам нужен, их множество. Я когда то юзал алгоритм метода волн. Нашел описание в инете и переписал на ас. |
так ему же надо идти к чему-то. Дело в том что ячеек золота может быть много, и ему надо найти ближний к нему. Как это сделать?
|
n06rin, если нет препятствий, последовательно рассчитать дальности до нескольких точек и выбрать наименьшую. dark256 об этом говорил.
Если есть препятствия - включаем алгоритм поиска минимального пути, просто узнаем - какой путь будет оптимальный. Выбрав путь, отправляем героя. Точнее, так - находим точку "золото", путь до которой будет минимальным. Как это сделать - это ваш контекст. Либо, если есть препятствия, то есть если путь - не одна прямая, то А-star использовать (Вот уже есть реализация) или другой алгоритм. Либо, если нет препятствий, теорему Пифагора. После этого отправляем персонажа. |
Собсна вот та тема, где я тоже когда-то спрашивал про поиск пути:
http://www.flasher.ru/forum/showthread.php?t=122115 А вот это я нашол сейчас в гугле: http://tsutmb.ru/imfi/parca/src/dubo..._2010_15_6.pdf Удачи. |
| Часовой пояс GMT +4, время: 19:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.