Алгоритм поиска пути

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Алгоритм поиска пути

Сообщение Ariman » 02.08.2004 (Пн) 16:08

Доброго времени суток.

Кто-либо знает, какой подойдет алгоритм поиска пути при следующих условиях:
Целевая точка все время находится в движении.

Разумеетя, волна тут не пойдет. Я решил проверить и получил скорость главного циклы 1 FPS.
:cry: :cry: Поэтому нужен алгоритм, который расчитывал бы не весь путь сразу.
Подобное я видел в алгоритме Креша, но, каюсь, не сумел его понять :oops:
Если кому не трудно, пожалуйста продемонстрируйте мне реализацию алгоритма Креша на карте представляющей двумерный массив из 0 и1, где соответственно 0-стена, 1-проход!

Или если кто знает другие алгоритмы подходящие для ситуации, тоже пишите плз.

Надеюсь на вас!!!!!

P.S. Вот как, например, во всяких 2Д РПГ расчитывают путь монстра?? Его же не пересчитывают каждый раз, как игрок сдвинулся?

P.P.S. Это все необходимо мне для Сингла в Гоблинских Войнах.
Конечно, Фамилия того, кто скинет мне код подходящего алгоритма немедленно будет занесена в список разработчиков. :wink:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.08.2004 (Пн) 17:27

Хм...
А что если сначала один раз рассчитать путь в начальной ситуации, а потом при каждом перемещении цели пересчитывать маленький участочек между старым и новым её положением? Если карта не меняется в процессе (там, двери не закрываются, к примеру), то должно покатить :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 03.08.2004 (Вт) 6:20

Все равно для этого нужен какой-то алгоритм.
Или ты имеешь ввиду просчитывать волновым алгоритмом?

Все равно он не преднозначен для подобной игры, слишком медленный. Да и пересчитать им маленький участок не получится.
Волна должна дойти до конца пути, чтобы можно было определить кратчайший путь. Так что не пойдет. Здесь нужен алгоритм, расчитывающий только один шаг.

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 04.08.2004 (Ср) 21:00

Может, Вам материалы с хорошего сайта помогут.
Листинги не горят!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 13

    TopList  
cron