Flash AI Вопрос - PullRequest
       11

Flash AI Вопрос

0 голосов
/ 09 октября 2010

У меня вопрос по поводу ИИ. Предположим, у меня есть танк, и на моей карте есть стены. У меня есть враг, который должен попытаться атаковать мой танк, когда он попадет.

Может кто-нибудь помочь мне пройти через логику кода.

Если танк находится рядом с врагом, то имеет радиус действия, и если танк находится в радиусе действия, враг активируется и идет за нашей целью.

Нужно ли строить во флеше узлы, такие как точки, по которым движется враг?

Я новичок во флэш и программировании игр. Я никогда не делал игры и не знаю, что на самом деле в нее входит. Я понимаю концепции программирования и имею опыт работы с C ++, Java и Ruby.

1 Ответ

1 голос
/ 11 октября 2010

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

Я не изучал теорию, но в прошлом я сделал один или два следопыта для своего собственного использования (например, игра, основанная не на тайле). Это либо рекурсивные функции-функции, либо циклы while-for, которые ведут себя как рекурсивный код (чтобы они не переполняли стек).

С помощью рекурсивных функций вы можете уйти во флэш-памяти, вам не нужно будет бегать много врагов. То есть, если вы не используете карту на основе плитки. Если вы (со своим опытом), классы A * в сети должны выполнять тяжелую работу за вас. Существует также тайл высокого уровня - низкоуровневый не-тайл гибрид, но он еще более продвинутый, и ты не сможешь запустить такую ​​игру во флэш-памяти (флэш-память очень медленная, даже как 3).

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

Редактировать: да, если у вас есть стены, вам нужно предварительно вычислить путь (указать точки пути). Просто зайдите в Google "Pathfinding wiki", чтобы сначала получить некоторую теорию, прочитайте 10-20 страниц википедии, и все будет готово. Найдите несколько примеров кода (повторите поиск) и протестируйте на карте размером 5x5 (матрица, двумерный массив ...)

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