Что нового

[Myst] Нужен алгоритм для автоматизации боя

Alkaris

Новичок
Сообщения
9
Репутация
0
Продолжаю разработку бота для http://world.mist-game.ru/
Посмотрите на поле боя.
http://c2n.me/3dibDHC
Красный (мой игрок) ходит по клеткам и собирает траву. Желтый (моб) бегает за ним. Когда моб подходит близко, нужно дать ему бой. Меня интересует каким образом в таких случаях выбирается путь к траве и как высчитываются клетки, как анализировать близко ли подошел моб, какие функции для этого обычно используются. Ссылки на источники по этой теме - приветствуются.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Алгоритм Дийкстры, каждая клетка будет нодой, у каждой ноды будет указано в какие другие ноды можно перейти из неё.
Либо жадный алгоритм. Бот смотрит в каком направлении находится растение, какие вокруг него клетки куда можно сходить и делает шаг по клетке являющейся кратчайшим путем к растению, и так в цикле.

Если дийкстра построит тебе весь путь сразу, то жадный алгоритм будет реализовывать маршрут пошагово.
 
Автор
A

Alkaris

Новичок
Сообщения
9
Репутация
0
Belfigor сказал(а):
Алгоритм Дийкстры, каждая клетка будет нодой, у каждой ноды будет указано в какие другие ноды можно перейти из неё.
Либо жадный алгоритм. Бот смотрит в каком направлении находится растение, какие вокруг него клетки куда можно сходить и делает шаг по клетке являющейся кратчайшим путем к растению, и так в цикле.

Если дийкстра построит тебе весь путь сразу, то жадный алгоритм будет реализовывать маршрут пошагово.
Проблемка есть такая, что клетки поля боя не есть объектами html. Поле боя считается как единственная картинка, по которой бегают мобы и игрок. Как я догадываюсь, события обрабатываются через js. Так что пока что только могу играться с пикселями, высчитывать расстояние между ними и прочий быдлокод.
Хотелось бы больше узнать о том, как отслеживать и использовать код самой игры.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Как использовать код игры хз, то что я говорил как раз и подходит для применения чисто на графике. Ты считываешь расположение клеток, создавая тем самым геодату, и далее бот считает эти клетки у себя в "уме", а по результату тыкает мышкой на одну из них.
 
Верх