/Abisnake

Иван Сергеевич топ)

Primary LanguageJavaMIT LicenseMIT

Для вирішення поставленої задачі спочатку було обрано Евристичний алгоритм. Наша модель оцінювала всі об'єкти, які знаходилися в квадраті 7 на 7 з центром в місці голови змії. Протестувавши модель на працездатність нами було вирішено змінити вектор розвитку нашої моделі. Незважаючи на непогані результати на тестових іграх з іншими зміями суспільства Battlesnake, ми почали використовувати тактику передбачення. Було розроблено алгоритм, який прораховує всі можливі комбінації ході супротивників та робить найбільш оптимальний хід. Незважаючи на високі сподівання щодо даного алгоритму, ми були вимушені повернутися до першого способу, через ряд труднощей, вирішення яких виходило за рамки змагання. Але аби поліпшити результати роботи першого алгоритму, ми його вдосконалили і тепер він більш детально аналізує ігрове поле на можливість пересування по ньому. Ми використали ряд більш спрощених алгоритмів, в тому числі рекурсивну перевірку на глухі кути і наша зімія почала робити значно менше примітивних помилок.

Abisnake

Build Status

A simple Battlesnake AI written in Java.

Visit https://docs.battlesnake.io for API documentation and instructions for running your AI.

This snake is built using a lightweight http server Spark framework - http://sparkjava.com/documentation

Deploy

Requirements

Running the snake

mvn compile exec:exec

Snake will start up on port 8080

This snake has also been run from within Intellij successfully.

Run the tests

mvn compile test

Executable Jar

mvn compile package

Will result in a jar file in target called Abisnake.jar

You can then run this file with the command

java -jar target/Abisnake.jar

Deploying to Heroku

  1. Create a new Heroku app:
heroku create [APP_NAME]
  1. Deploy code to Heroku servers:
git push heroku master
  1. Open Heroku app in browser:
heroku open

or visit http://APP_NAME.herokuapp.com.

  1. View server logs with the heroku logs command:
heroku logs --tail