IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> алгоритм
сообщение
Сообщение #1


Гость






Мы с моим другом пишем текстовый квест с элементами рпг и даже тактики, все вроде шло нормально пока мы не столкнулись со следующей ситуацией:
- имеется поле 20Х10
-юниты могут ходить по нему тока направо налево вперед и назад...
-ход проходит примерно как в героях или фаллауте(тоест ьисть ограниченное кол ходов,которые мы можем сделать или не сделать)
II.Попытки решения:
В общем прописать возможные действия непосредственно для игрока несложно,но тут возникает проблема: как прописать AL
Что же мы сделали?
-превое, сто делает комп ето вычисляет свои координаты и координаты игрока
-затем он сравнивает их(вычитает Х1 из Х2 и У1 из У2 по модулю), тоесть он находит расстояние между собой и игроком...
-потом он рассматривает четыре случая:пойти направо нелево итп...и вычисляет в каком случае расстояние до игрока уменьшится...
III.Проблема.
проблема возникает тогда,когда комп приближается вплотную к игроку, тоесть допустим он стоит по диагонали от игрока - ходить и атаковать по диагонали нельзя(ну сделали так для облегчения прохождения)...и вот когда бот в етом случае думает когда ходить получается, что в двух случаях расстояние бут одинаковым и бот начинает метаться туда сюда не зная, что делать...

так вот не подскажете как сделать так , чтобы комп принимал в етом случае какое-то четкое решение???Если есть предложения по переделке алгоритма...или по его совершенствованию буду тока рад их прочитать...
если нужен именно текст алгоритма..то тока скажите тут же предоставлю...ща пока мне важно узнать возможна ли реализация самой идеи...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 618
Пол: Мужской

Репутация: -  24  +



Цитата
проблема возникает тогда,когда комп приближается вплотную к игроку, тоесть допустим он стоит по диагонали от игрока - ходить и атаковать по диагонали нельзя(ну сделали так для облегчения прохождения)...и вот когда бот в етом случае думает когда ходить получается, что в двух случаях расстояние бут одинаковым и бот начинает метаться туда сюда не зная, что делать...
Что значит метаться туда сюда? Подразумевается, что бот не может сократить расстояние, тк оно уже минимально? Тогда как ты считаешь расстояние? Если ты просто смотришь, уменьшилось ли |x1 - x2| или |y1 - y2|, тогда будет два варианта хода: в первом случае разность иксов будет равна нулю, во втором - игреков. Если ты не знаешь, какой из НИХ выбрать... не заморачивайся, выбери первый попавшийся smile.gif

Если я чего-то недопонял, ты сам виноват - приводи исходник.


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






напиши теорию вероятности... или поставь, что если первым сканируется х и расстояние уменьшается, то у пускай даже не считывает!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Название: Секреты программирования игр
Автор: А. Ла Мот, Д. Ратклифф, М. Семинаторе, Д. Тайлер
Глава № 13
http://kusuka.info/2006/04/26/a_la_mot_d_r...vanija_igr.html
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 23:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name