You need to install httpie previously to easily run http calls.
-
Run the server. This script will run the server in the background (it takes some time):
$ ./run-server.sh
Important note: this script also initializes
example-bots
so that the bots become individual git repositories (otherwise the server is unable to checkout the bots withgit
). -
Then create and run the match with several bots from
example-bots
.$ ./run-match.sh
After the match ends (the bots stop moving) just press Ctrl+C.
- H2 console access the internal database,
use
jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE
as jdbc url. - Swagger access the Swagger documentation.
- asciinema rec
- ./example-bots-run.sh
Interface Bot Interface of bot.
Class Head Class wraps implemented Bot instance. It contains info for mapping on the field
Class Field Class contains cells of field
Class Match Class contains state of game for this match, match duration, id of match, list of bots
Class GameState Class contains field of match and list of dead bots
Class GameStateView Class represents datamart of field of match , id bot, it's head point on the field
Enumeration Move: Variant of bot moving. LEFT, STOP ....
Class BotService Class returns instances of implemented bots
Class FieldService Class creates field, print ant etc.
Class GamePlayService Class creates match, changes state of game for each bot
Class Application Class responsible for management of gameplay
Agreement for representing of game state:
The upper case simbol on the field means head of bot.
Example1:
A, B, C
The lower case simbol on the field means tail of bot.
Example2:
a, b, c
The digit simbol on the field means owned area .
Example3:
1, 2, 3
The space simbol on the field means free area .
Deploy To thumbtack-xonix-mind/ansible add "prod" folder and add to it inventory for prod environment. Then:
cd thumbtack-xonix-mind/ansible
./deploy.sh