Really Quick Start
If you want the bare minimum instructions, here are the quick notes about what is important to start playing games.
- The calculate_move() function in the template code is the equivalent of your main() function
- When you click the Run button in the Editor, the calculate_move() function is repeatedly called by our Game Manager every time you need to make a move
- calculate_move()
- receives a JSON object describing the current state of the game
- returns a JSON object that represents the move you want to make in the game
- Click on the Book icon in the right hand column of the Editor page for an explanation of the gamestate. For each game we explain
- All the fields in the JSON gamestate object and what each field is for
- The JSON you need to create to return a Move.

- Between receiving the gameState at the start of calculateMove and returning the move you want to make in the game at the end of calculateMove is where you need to implement your strategy.
- calculate_move() will be called each time you need to make a move in the game. You only ever calculate one move at a time and return this singular move to the Game Manager by returning it from the calculate_move() function.
- Any regular variables in your code do not persist between calls to calculate_move(). This is why you receive the full and current state of the game in the gameSate JSON that is passed to calculate_move().
- Global variables, declared outside of the calculate_move() function will persist between calls to calculate_move()
Last modified 4yr ago