На днях я взял класс А* на AS и переделал под пхп. (готовый пхп скрипт найти не смог).
Скрипт взял отсюда: Алгоритм поиска пути A* на AS
Там же все подробно разжевано.
Сначала все работало быстро и хорошо пока не начал добавлять преграды. Сделал сетку 10 на 10 и поставил посередине непроходимую стену чтобы протестить обходной путь. Теперь у меня скрипт выполняется 15 секунд, но путь находит. Посчитал количество проверенных клеток - выдал 5272.
Кому не сложно или кто уже делал что-то подобное посмотрите пожалуйста. Я уже даже не знаю как найти ошибку.
Мой класс: AStar.zip
Спустя 12 часов, 28 минут, 39 секунд (13.05.2011 - 08:58) linker написал(а):
В сети полно описаний алгоритмов поиска пути, главное понять смысл, а на каком языке реализовывать - не важно.
Спустя 3 часа, 4 минуты, 24 секунды (13.05.2011 - 12:02) Darktor написал(а):
Капитанишь )))
Просьба читателей читать внимательно то что я написал ) там же написано что я его написал уже ) просьба всего лишь проверить на правильность ) потому что сам я уже не знаю что еще протестить..
Не надо писать сообщения типа "зачем тебе это надо?", "не делай", "найди описание алгоритма и сделай сам".. а то любят такие вещи на форумах писать )
Спасибо
Просьба читателей читать внимательно то что я написал ) там же написано что я его написал уже ) просьба всего лишь проверить на правильность ) потому что сам я уже не знаю что еще протестить..
Не надо писать сообщения типа "зачем тебе это надо?", "не делай", "найди описание алгоритма и сделай сам".. а то любят такие вещи на форумах писать )
Спасибо
Спустя 16 часов, 42 минуты, 23 секунды (14.05.2011 - 04:45) GRean написал(а):
И вправду охота задать такой вопрос:) зачем такое на пхп делать?
По существу, убери все преграды, то есть вернись к исходному варианту, где все работало.
Добавь преграду на одну клетку(постепенно увеличивая) и тесть на время исполнения, если будет увеличиваться, значит касяк при обнаружении скриптом преграды, тут просто главное локализовать проблему.
По существу, убери все преграды, то есть вернись к исходному варианту, где все работало.
Добавь преграду на одну клетку(постепенно увеличивая) и тесть на время исполнения, если будет увеличиваться, значит касяк при обнаружении скриптом преграды, тут просто главное локализовать проблему.
Спустя 7 часов, 10 минут, 12 секунд (14.05.2011 - 11:55) Darktor написал(а):
это я уже сделал.. так все и есть.. до преграды все нормально ) потом жара начинается.. но я уже нашел где проблема.
>> зачем такое на пхп делать?
Бывают моменты когда так делать выгоднее. Извини, но это глупый вопрос, отвечать на него не хочу.
>> зачем такое на пхп делать?
Бывают моменты когда так делать выгоднее. Извини, но это глупый вопрос, отвечать на него не хочу.