From 773d390607bba7aeb3de9d82982bba53d4d18786 Mon Sep 17 00:00:00 2001 From: Gnieark Date: Mon, 30 May 2016 14:52:09 +0200 Subject: [PATCH] start writing the news specs for tictactoe --- src/arenas/tictactoe/doc-fr.html | 157 ++++++++++++++++++++++++------- 1 file changed, 121 insertions(+), 36 deletions(-) diff --git a/src/arenas/tictactoe/doc-fr.html b/src/arenas/tictactoe/doc-fr.html index 82bc45f..5bd3550 100644 --- a/src/arenas/tictactoe/doc-fr.html +++ b/src/arenas/tictactoe/doc-fr.html @@ -1,42 +1,127 @@

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 : le tictactoe n'a besoin d'envoyer que 10 variables, de longueur maîtrisée, aux bots.
- Le choix a donc été fait de les passer en paramètres GET et non POST comme indiqué sur l'animation. -

-

Spécifications : variables GET et retour HTML

-

- Votre programme n'a pas à gérer une partie entière de morpion, juste un tour. -

-

- Le programme arbitre (cette arène) fait une requête construite de la manière suivante : + 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:

+ + + +

Message vous demandant de jouer (seulement) un tour

+ + +

Exemple de partie

-    https://votreUrl/?you=O&0-0=&0-1=O&0-2=X&1-0=X&1-1=X&1-2=O&2-0=O&2-1=&2-2=X
+{"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
 
-

- Le paramètre GET "you" vous indique quel est votre symbole dans la grille de morpion.
- Classiquement : "X" ou "O" -

-

- Pour chaque case de la grille de morpion, un paramètre GET correspondant à ses coordonnées ("0-0", "0-1", etc ...) vous est indiqué.
- Il peut être : -

- -

- Votre programme choisit la case sur laquelle il souhaite jouer compte tenu de la grille et retourne ses coordonnées. -

-

- Le résultat de la requête HTTP(s) ne peut qu'être : "0-0" ou "0-1" ou "0-2" ou "1-0" etc. -

-

- Un joueur (une IA) qui répond autre chose (au caractère près), ou qui répond avec les coordonnées d'une case déjà jouée, perd la partie. -

-

Publier votre programme pour le tester puis le lâcher dans l'arène

-

- Le formulaire est sur la page d'accueil du site ! -

\ No newline at end of file + +

Outils pour développer et tester votre bot

+ +

Faire entrer votre bot dans cette arène

+ +