Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 24.12.2012, 13:21   #1
Местный
 
Аватар для mikser
 
Регистрация: 26.01.2009
Сообщений: 1,097
Сказал Спасибо: 178
Имеет 119 спасибок в 84 сообщенях
mikser пока неопределено
По умолчанию Алгоритм поиска пути Jump Point Search

http://habrahabr.ru/post/162915/
Поигрался с их очень юзабельными визуализатором на HTML5 http://qiao.github.com/PathFinding.js/visual/ (для сравнения там завизуализированы и другие алгоритмы поиска пути)

По субьеткивным ощущениям работает на порядок быстрее A* и ему подобных
__________________
Играю по фэншую используя /allblock, созерцая красоту игрового мира, сосредоточившись на получении энергии Ци при убийстве мобов.
icq=((2*3*(19^2)*37)-1)*9

Последний раз редактировалось mikser, 24.12.2012 в 13:26.
mikser вне форума   Ответить с цитированием
За это сообщение mikser нажился 4 спасибками от:
Старый 27.12.2012, 01:15   #2
Местный
 
Регистрация: 08.03.2011
Сообщений: 236
Сказал Спасибо: 31
Имеет 73 спасибок в 30 сообщенях
lamo386 пока неопределено
По умолчанию

хм миксер умеет интересное чтиво подбросить
lamo386 вне форума   Ответить с цитированием
За это сообщение lamo386 нажился спасибкой от:
Старый 27.12.2012, 04:41   #3
Местный
 
Аватар для goodvin1709
 
Регистрация: 13.02.2011
Сообщений: 506
Сказал Спасибо: 121
Имеет 100 спасибок в 83 сообщенях
goodvin1709 пока неопределено
По умолчанию

Да быстро А* работает.Я много читал про него но мне страшновато то что если у нас матрица 32766*32766 вроде как кусок карты. а не 27*27 то будет плоховато дело.В принципе вот что получилось с вводом лабиринта:
Оффтоп
13 ms очень даже не плохо ну учитывая то что нужно будет подгрузить геодату,вбить ее в матрицу[x,y,I]
i=1,i=0 если 1 то проходимо если 0 преграда.И что бы добежать от ГК Гирана до ДВ просчет будет занимать возможно пару минут(смотря какой код).
Ну вот тестим самый быстрый под бота:
A*-Manhattan - 2 ms.Operation:1425.
A*-Euclidean - 4 ms.Operation:1426.
A*-Chebyshev - 1 ms.Operation:1426.
Breadth-First-Search -4 ms.Operation:1443.
Best-First-Search -Manhattan - 4 ms.Operation:1232.
Best-First-Search -Euclidean - 9 ms.Operation:1229.
Best-First-Search -Chebyshev - 2 ms.Operation:1242.
Dijkstra- 2 ms.Operation:1433.
Jump Point Search-Manhattan - 9 ms.Operation:184.
Jump Point Search-Euclidean - 5 ms.Operation:184.
Jump Point Search-Chebyshev - 1 ms.Operation:184.

Топ 1:Jump Point Search-Chebyshev - 1 ms.Operation:184.
Теперь вопрос:Подойдет ли он для поиска пути в Lineage 2.?Как его засунуть в .dll или в исходный кусок?
Дальше посидев чуток я нашел его код на .js
Оффтоп
Сам алгоритм тут:-->llllllllllll<--
Дерзаем товарищи!
__________________
---------------------------__--------__-----
---____- ___--____--- ___/'- /__ ___-(__)-____
--/-___-/-__-\/-__--\ /-__--'/--|-/--//---//--__--\
-/-/_/ -/-/_/--/-/_/--/-/_/--/|--|/--'//---//--/-/--/
-\___-/\____/\____/\____/-|____//__'//_'/-/__/
/_-__/

Последний раз редактировалось goodvin1709, 27.12.2012 в 05:08.
goodvin1709 вне форума   Ответить с цитированием
Старый 27.12.2012, 06:01   #4
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Цитата:
вбить ее в матрицу[x,y,I]
вот тут то и начнуться проблемы. главная их них - память. т.к. алгорит требует площадь с одинаковой стоимостью перехода между ее соседними ячейками. т.е. надо квантовать "одинаковыми квадратиками"

Добавлено через 14 минут
а вообще, квантовать плохо. особенно если игровое пространство "непрерывно". пусть даже и псевдонепрерывно.
догадаетесь почему?


он ограничен 8 направлениями движений. можно "сотами" квантовать, результат будет лучше. но все равно далек от идеала.
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 27.12.2012 в 06:06. Причина: Добавлено сообщение
alexteam вне форума   Ответить с цитированием
Старый 27.12.2012, 06:49   #5
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

alexteam, можно с каждой точки проверять можно ли двигаться напрямую и удалять промежуточные точки
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 27.12.2012, 20:25   #6
Местный
 
Аватар для goodvin1709
 
Регистрация: 13.02.2011
Сообщений: 506
Сказал Спасибо: 121
Имеет 100 спасибок в 83 сообщенях
goodvin1709 пока неопределено
По умолчанию

Искать все точки для пути,в массив их всунуть.Потом удалять которые не нужны(промежуточные) и потом по том масиву двигаться
__________________
---------------------------__--------__-----
---____- ___--____--- ___/'- /__ ___-(__)-____
--/-___-/-__-\/-__--\ /-__--'/--|-/--//---//--__--\
-/-/_/ -/-/_/--/-/_/--/-/_/--/|--|/--'//---//--/-/--/
-\___-/\____/\____/\____/-|____//__'//_'/-/__/
/_-__/
goodvin1709 вне форума   Ответить с цитированием
Старый 27.12.2012, 23:19   #7
Местный
 
Регистрация: 13.12.2007
Сообщений: 126
Сказал Спасибо: 10
Имеет 39 спасибок в 32 сообщенях
Zergatul
По умолчанию

Все равно бот будет двигаться подозрительно
Zergatul вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:53.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!