From 1a0c0c88e90ac433d56c65e0d22ae1bc6b49a321 Mon Sep 17 00:00:00 2001 From: gnieark Date: Wed, 8 Jun 2016 13:04:50 +0200 Subject: [PATCH] specs fr --- src/arenas/connectFour/doc-fr.html | 88 +++++++++++++++++++++--------- 1 file changed, 63 insertions(+), 25 deletions(-) diff --git a/src/arenas/connectFour/doc-fr.html b/src/arenas/connectFour/doc-fr.html index a5b0b3b..c83b65a 100644 --- a/src/arenas/connectFour/doc-fr.html +++ b/src/arenas/connectFour/doc-fr.html @@ -6,29 +6,42 @@

-

Requête générée par l'arène (ce site) vers votre bot

-L'arène fait une requête http(s) avec les parametres POST suivants vers votre site: +

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.

+

Message d'initialisation de votre partie

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

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

+ +

Votre bot doit retourner le nom de votre bot 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.

- - - - - - - - - - - - -
paramètrevaleur
game - Chaîne de caractères, sera toujours "connectFour".
- Peut servir si votre url sert à plusieurs jeux. -
match_id - Chaîne de caractères. Répond à l'expression régulière suivante: ^[0-9]+-(1|2)$
- Le premier nombre (digits avant le tiret) identifie le match.
- Le numéro après le tiret vous indique si vous êtes le bot 1 ou le bot 2 dans l'ordre de jeu.
- Ça vous servira si votre IA fait des statistiques sur les matchs. -
youvous indique quel est votre symbole dans la grille
gridtableau à deux dimmensions au format JSON vous indiquant l'état de la grille
+

Message vous demandant de jouer (seulement un tour)

+

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

+
{"game-id":"9916","action":"play-turn","game":"connectFour","players":2,"board":[["","","","","","",""],["","","","","","",""],["","","","","","",""],["","","","","","",""],["","","","","","",""],["","","","","","",""]],"you":"X","player-index":0}
+
    +
  • game-id String identifiant la partie.
  • +
  • action String identifiant la phase, play-turn tout de suite, qui vous indique que vous devez jouer.
  • +
  • game String identifiant le jeu. Ici, ce sera forcément tictactoe. ça peut servir si vous donnez une seulle URL pour plusieurs bots.
  • +
  • players Int indiquant le nombre de joueurs dans la partie, toujours 2 au morpion
  • +
  • board La carte je donne le détail ci dessous
  • +
  • you String, Votre caractère dans la grille
  • +
  • player-index Int, L'ordre de votre bot dans les tours de jeu. Le premier joueur a la valeur 0, le deuxième 1.
  • +
+

la map

+

Elle est contenue dans le champs board du message JSON.C'est un tableau à deux dimmensions au format JSON vous indiquant l'état de la grille.
Exemple:

   [["","","","X","0","",""],
@@ -39,8 +52,33 @@ L'arène fait une requête http(s) avec les parametres POST suivants vers v
    ["","","","","","",""]]
   
-
+

Visuellement, Le tableau est inversé par rapport à un plateau de puissance 4. La ligne ayant l'index zéro (en haut dans l'extrait ci dessus) représente la ligne du bas

+

Les valeurs peuvent être:

+

Réponse de votre bot

-

Seulement un caractère. Il indique la colonne dans laquelle vous souhaitez jouer 0 à 7

+

Au format JSON, Seulement un caractère. Il indique la colonne dans laquelle vous souhaitez jouer 0 à 6 bornes incluses.

+
+{"play":"3"}
+
+

Pour indiquer que vous souhaitez dans la troisième colonne.
+Evidemment l'arène respecte la gravité et placera votre pion dans la première case libre de la colonne (en partant de l'index 0).

+ +

Outils pour développer et tester votre bot

+

Afin de vous aider sur la façon de gérer les communications entre le bot et l'arène, n'hésitez pas à jeter un coup d'oeil dans le code source PHP de stupidIA.

+ +

Script Botsarena

+

Cette petite page html+javascript vous permettra de tester et débogguer votre bot.
Elle vous permettra de tester votre boot via son url, contre lui même, un humain ou stupidIA.
Une fois prêt, vous l'inscrirez dans l'arène.

+

Par défaut, les navigateurs ne permettent pas en javascript de faire des requettes Cross domaine. C'est une sécurité du navigateur. Il y a donc trois possibilités:

+ +

Ce problème ne se posera pas au niveau de l'arène une fois que votre bot sera inscrit. Car dans ce cas, c'est le serveur qui fait les requetes vers les bots, pas un navigateur web.

+

Bolosseum

+

Vous trouverez des outils en ligne de commande pour tester et déboguer votre bot sur le projet github Bolosseum de @moul.

+

Faire entrer votre bot dans cette arène

+

Le formulaire d'inscription de votre bot est sur la page d'accueil du site.

\ No newline at end of file