Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Соревнование в написании ботов

Notifications You must be signed in to change notification settings

scmpsh/LabyrinthChallenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

Аллоха
В этом соревновании тебе предстоит написать бота, который будет соревноваться с другими ботами в попытках найти наиболее оптимальный способ раcпетлять лабиринт и набрать наибольшее кол-во очков.
Победитель получит фирменную футболку "С тебя пять тыщ".
А если участников будет больше 20, то три футболки лидерам турнирной сетки и супер-приз победителю :)

В игре на поле 15х15 соревнуются два LabyrinthPlayer (они же боты).
Цель - собрать как можно больше очков.
Карта генерируется рандомно, на ней так же появляются клетки с -16 очков, так что твоему боту стоит быть аккуратнее в передвижениях.

Твоя задача - реализовать интерфейс LabyrinthPlayer.

Перед началом игры, каждому боту выдается его номер на игровом поле (-1 или -2) вызовом takeYourNumber.
Каждый тик игры - это вызов метода step у соревнующихся ботов.
и их последующие перемещение в направлении, которое вернул метод.
В метод step передается актуальное состояние GameState.
Кол-во раундов бывает разным, как только roundsToEnd в GameState станет равным нулю - игра завершается и начинается подсчет очков.
Если твой бот попытается выйти за границы карты или пойти в клетку, занятую другим игроком - он автоматически проигрывает раунд.

Запрещено:

  • Использовать Reflection API
  • Сторонние библиотеки

Ограничения:

  • На один ход (step) дается 500 миллисекунд, в случае если бот не успел за 500 миллисекунд завершить метод step - он остается на месте.
  • Лимит по памяти - 2 gb, есть где разгуляться. При превышении - выигрывает оппонент.
  • Бот должен конструироваться от дефолтного конструктора (без параметров).

В процессе разработки своего решения очень полезным может оказаться отладчик DebuggerGUI::main
Можешь запускать в нем своего бота подретактировав Controller.

#f03c15 Attention:
javafx есть не во всех jdk, поэтому крайне рекомендую запускать на 8

Сражения ботов в рамках турнирной таблицы будут происходить без отладчика, чтобы ускорить процесс.
Там будут задействованы ограничения по времени!

Чтобы прислать решение - форкни этот репозиторий.
Ссылку на файл с кодом своего бота пришли сюда.

Решение принимаю один раз, в случае дублирования - буду использовать самое первое.
Решения принимаются 12.03.2022 23:59
UPD: до 15.03.2022 23:59 по просьбам трудящихся

About

Соревнование в написании ботов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%

AltStyle によって変換されたページ (->オリジナル) /