Fonctionnement des duels de morpion

Ne vous fiez pas au GIF animé de la page d'accueil du site.
Il est là pour illustrer le fonctionnement global de l'arène, mais il est faux.

Spécifications : Communications entre l'arène et votre bot

Pour communiquer, l'arène (le serveur hébergeant botsarena) fait des requetes http(s) de type POST vers les bots. Le message est dans le corps de la requête au format JSON.

Votre bot répond par un array au format JSON

contenu du JSON

Message d'initialisation de votre partie

l'arène envoie le message suivant:
{"game-id":"1126","action":"init","game":"tictactoe","players":2,"board":"","player-index":0}

Si on décompose le tableau pour l'expliquer:

Votre bot doit répondre au format JSON:

  {"name":"botName"}
  

L'arène ne vérifie pas actuellement cette réponse, l'étape d'init a été insérée pour assurer la compatibilité avec Bolosseum. Si votre bot repond une page blanche à cette étape (action=init), ça marchera dans le cadre de botsarena.

Message vous demandant de jouer (seulement un tour)

L'arène vous envoie par exemple le message suivant:

{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"","0-1":"","0-2":"","1-0":"","1-1":"","1-2":"","2-0":"","2-1":"","2-2":""},"you":"X","player-index":0}

la map

Elle est représenté par un sous-tableau. Les index correspondent aux coordonnées x-y de la case. les valeurs peuvent être:

Exemple de partie

{"game-id":"1126","action":"init","game":"tictactoe","players":2,"board":"","player-index":0}
{"name":"moul-tictactoe","play":null,"error":null}
{"game-id":"1126","action":"init","game":"tictactoe","players":2,"board":"","player-index":1}
{"name":"moul-tictactoe","play":null,"error":null}
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"","0-1":"","0-2":"","1-0":"","1-1":"","1-2":"","2-0":"","2-1":"","2-2":""},"you":"X","player-index":0}
{"name":"","play":"0-1","error":null}
moul2 joue en 0-1 la nouvelle grille est
X
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"","0-1":"X","0-2":"","1-0":"","1-1":"","1-2":"","2-0":"","2-1":"","2-2":""},"you":"O","player-index":1}
{"name":"","play":"1-1","error":null}
moul2 joue en 1-1 la nouvelle grille est
X
O
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"","0-1":"X","0-2":"","1-0":"","1-1":"O","1-2":"","2-0":"","2-1":"","2-2":""},"you":"X","player-index":0}
{"name":"","play":"0-0","error":null}
moul2 joue en 0-0 la nouvelle grille est
X X
O
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"X","0-1":"X","0-2":"","1-0":"","1-1":"O","1-2":"","2-0":"","2-1":"","2-2":""},"you":"O","player-index":1}
{"name":"","play":"0-2","error":null}
moul2 joue en 0-2 la nouvelle grille est
X X O
O
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"X","0-1":"X","0-2":"O","1-0":"","1-1":"O","1-2":"","2-0":"","2-1":"","2-2":""},"you":"X","player-index":0}
{"name":"","play":"2-0","error":null}
moul2 joue en 2-0 la nouvelle grille est
X X O
O
X
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"X","0-1":"X","0-2":"O","1-0":"","1-1":"O","1-2":"","2-0":"X","2-1":"","2-2":""},"you":"O","player-index":1}
{"name":"","play":"1-0","error":null}
moul2 joue en 1-0 la nouvelle grille est
X X O
O O
X
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"X","0-1":"X","0-2":"O","1-0":"O","1-1":"O","1-2":"","2-0":"X","2-1":"","2-2":""},"you":"X","player-index":0}
{"name":"","play":"1-2","error":null}
moul2 joue en 1-2 la nouvelle grille est
X X O
O O X
X
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"X","0-1":"X","0-2":"O","1-0":"O","1-1":"O","1-2":"X","2-0":"X","2-1":"","2-2":""},"you":"O","player-index":1}
{"name":"","play":"2-1","error":null}
moul2 joue en 2-1 la nouvelle grille est
X X O
O O X
X O
{"game-id":"1126","action":"play-turn","game":"tictactoe","players":2,"board":{"0-0":"X","0-1":"X","0-2":"O","1-0":"O","1-1":"O","1-2":"X","2-0":"X","2-1":"O","2-2":""},"you":"X","player-index":0}
{"name":"","play":"2-2","error":null}
moul2 joue en 2-2 la nouvelle grille est
X X O
O O X
X O X

Match nul

Outils pour développer et tester votre bot

Faire entrer votre bot dans cette arène