Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Подсветка всех доступных клеток для хода (http://www.flasher.ru/forum/showthread.php?t=147075)

FlashWizard 25.11.2010 14:46

Подсветка всех доступных клеток для хода
 
Путь ищется по алгоритму AStar и клетки по которым должен пройти юнит кидаются в массив. А как подсветить все возможные для хода клетки?

bav 25.11.2010 14:49

Можно применить к ним один из фильтров.

FlashWizard 25.11.2010 15:08

Я не про саму подсветку ))) Я про алгоритм выбора клеток для подсветки.

bav 25.11.2010 15:10

Вы же сказали:
Цитата:

клетки по которым должен пройти юнит кидаются в массив
Если вы имели в виду ссылки на клетки, то я не вижу проблемы. Если вы имели в виду координаты клеток, то сохраняйте еще и ссылки.

Добавлено через 1 минуту
А... я не о том. Пардон.

Добавлено через 3 минуты
Вы хотите подсветить все проходимые клетки?

FlashWizard 25.11.2010 15:15

Цитата:

Вы хотите подсветить все проходимые клетки?
Именно

bav 25.11.2010 15:32

Погодите-ка, а разве вы не сообщаете изначально какие клетки являются проходимыми, а какие нет? Или я чего-то не понимаю?

FlashWizard 25.11.2010 15:39

Не, послушайте. Каждый юнит может ходить только на определённое количество клеток. Нужно подсветить все клетки на которые может пойти юнит от его ТЕКУЩЕЙ клетки, при этом учитывая на сколько клеток он может ходить.

Один путь я могу подсветить. Ну вариантов на какую клетку может пройти юнит много, мне то и надо это поймать.

leofit 25.11.2010 15:39

У Вас же в A* должна быть функция, которая просчитывает возможные варианты хода с конктретной клетки.
Либо модифицируйте алгоритм, что бы он складывал в массивы {текущая клетка:[вариант1,2,3]}
Либо вызывайте эту функцию просчета возможных ходов каждый раз, когда меняется активная клетка
А потом применяйте фильтры к найденным клеткам

FlashWizard 25.11.2010 15:46

У меня А* находит наилучший путь и он мне возвращает этот путь (массив). По которому я прогоняю моего юнита. Можете пожалуйста подробней объяснить, я совсем не понимаю.

ChuwY 25.11.2010 15:52

Ну а что тебе мешает переделать этот самый Astar не для поиска пути до конкретной клетки, а для поиска проходимых клеток по пути не больше n от начальной клетки поиска?

Сам астар я реализовать не пробовал и не знаю точных различий с алгоритмом ли (последний, вроде как, частный случай первого), но в ли это легко делается.
(просто завершаем алгоритм, когда клетки кончились доступные для поиска и возвращаем все пройденные).
Не думаю, что в астаре сильно сложнее.


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.