English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



Теперь вы формально познакомились с алгоритмом A*! Не огорчайтесь, если испытываете проблемы с пониманием алгоритма; это не самая простая вещь в мире для быстрого восприятия. Мне потребовалось несколько статей из Интернет, прежде чем я почувствовал, что я полностью понял базовый вариант алгоритма A*. Реализация алгоритма A* Вы видели алгоритм A* и должны иметь, по крайней мере, основное понимание, как он работает. Я написал алгоритм A* на ActionScript в объекте с именем astar. Давайте посмотрим, как он применяется. Откройте файл astar.fla в папке Chapter09 на CD. Взгляните на операторы в слое A*. Объект astar содержит другой объект, под названием nodes. Объект nodes содержит информацию об определенных плитках. Например, объект nodes может содержать объект под названием cell8_2, который содержит информацию, говорящую, что плитка содержит стену. Если плитка содержит стену, то путь не может пройти через нее. Для использования объекта astar для выполнения поиска пути, вы должны делать следующее: 1. Вставить код astar в ваш фильм. 2. Определить начальные плитки x и y для поиска. Ниже пример синтаксиса: astar.s.x =5; astar.s.y =8; 3. Определите координаты x и y пункта назначения. Этот пункт назначения содержится в узле цели (g); вы можете использовать следующий синтаксис: astar.g.x =10; astar.g.y =13; 4. Определите все запрещенные плитки на этом пути: astar.nodes [""x+""y ] ==astar.solidOb; 5. Затем выполните поиск и фиксацию возвращенного массива: path =astar.search(); Path является двухмерным массивом, который описывает полный путь из начального узла к узлу цели. Каждый элемент в массиве содержит другой массив с двумя элементами. Первый элемент в каждом из двух элементов массива содержит координату x плитки вдоль найденного пути. Второй элемент в каждой из этих двух элементов массива содержит координату y плитки вдоль пути. Например, первая плитка на которую выполняется шаг имеет координату x из path [0 ][0 ] и координату y из path [0 ][1 ]
Hosted by uCoz