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