From edf836eb37a7605c94f8522c6151045ee3ccfcb3 Mon Sep 17 00:00:00 2001 From: Gnieark Date: Mon, 20 Jun 2016 22:29:59 +0200 Subject: [PATCH] . --- src/arenas/Battleship/doc-fr.html | 325 +----------------------------- 1 file changed, 2 insertions(+), 323 deletions(-) diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html index c95ec94..ddcbc21 100644 --- a/src/arenas/Battleship/doc-fr.html +++ b/src/arenas/Battleship/doc-fr.html @@ -262,329 +262,8 @@ Ainsi, vous pouvez pousser le délire jusqu'à faire un algorythme qui s'adapte -

Exemple de partie

-
-{"game-id":"1126","action":"init","game":"tictactoe","players":2,"board":"","player-index":0}
-
-
-{"name":"moul-tictactoe"}
-
-
-{"game-id":"1126","action":"init","game":"tictactoe","players":2,"board":"","player-index":1}
-
-
-{"name":"moul-tictactoe"}
-
-
-{"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}
-
-
-{"play":"0-1"}
-
-
-Player 1 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}
-
-
-{"play":"1-1"}
-
-
-Player 2 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}
-
-
-{"play":"0-0"}
-
-
-Player 1 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}
-
-
-{"play":"0-2"}
-
-
-Player 2 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}
-
-
-{"play":"2-0"}
-
-
-Player 1 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}
-
-
-{"play":"1-0"}
-
-
-Player 2 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}
-
-
-{"play":"1-2"}
-
-
-Player 1 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}
-
-
-{"play":"2-1"}
-
-
-Player 2 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}
-
-
-{"play":"2-2"}
-
-
-Player 1 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

-

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.

+

Script Botsarena en cours de développement

Faire entrer votre bot dans cette arène

-

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

- - - - - -

- La bataille navale se joue en deux phases : -

- -

- A chaque tour de jeu l'arène fait des requetes http(s) contenant des paramètres de type POST, vers vos bots.
- Ces derniers doivent répondre selon les spécifications ci dessous. -

-

Descriptif des paramètres envoyés par l'arène

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParamètreDescription
game - Chaîne de caractères, sera toujours "Battleship".
- 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. -
act - Peut prendre deux valeurs :
-
    -
  • "init" : On démarre la partie, vous devez placer vos bateaux
  • -
  • "fight" : Vous envoyez un tir
  • -
-
opponent - Chaîne de caractères identifiant votre adversaire.
- Ainsi, vous pouvez pousser le délire jusqu'à faire un algorythme qui s'adapte en fonction de l'adversaire et de l'historique des combats avec ce dernier. -
widthEntier, compris entre 1 et 100, bornes incluses, vous indique la largeur de la map.
heightEntier, compris entre 1 et 100, bornes incluses, vous indique la hauteur de la map.
ship1Entier, compris entre 0 et 10, bornes incluses, vous indique le nombre de bateaux de longeur 1 case à placer.
ship2Entier, compris entre 0 et 10, bornes incluses, vous indique le nombre de bateaux de longeur 2 cases à placer.
......
ship6Entier, compris entre 0 et 10, bornes incluses, vous indique le nombre de bateaux de longeur 6 cases à placer.
your_strikes -

- -

his_strikesIdem sauf qu'il s'agit du tir de l'adversaire.
-

Ce que doit retourner votre bot

-

Lors de l'initialisation de la partie

-

- Lors de l'initialisation d'une partie StupidIA VS StupidsIA, l'arène a envoyé au bot les parametres POST suivants : -

-
-    game=Battleship&match_id=828-1&act=init&opponent=stupidIA&width=10&height=10&ship1=0&ship2=1&ship3=2&ship4=1&ship5=1&ship6=0
-
-

- Soit, sous forme plus lisible : -

-
-    [game] => Battleship
-    [match_id] => 828-1
-    [act] => init
-    [opponent] => stupidIA
-    [width] => 10
-    [height] => 10
-    [ship1] => 0
-    [ship2] => 1
-    [ship3] => 2
-    [ship4] => 1
-    [ship5] => 1
-    [ship6] => 0
-
-

- La page http que doit générer votre bot contient la position des navires. -

-

- Vous retournez une chaine de caractères qui est un tableau JSON ayant autant d'enregistrements que de navires.
- Chaque navire est défini par les coordonnées de ses extrémités. -

- -

Lors du combat

-

- Voici quelques exemples des parametres envoyés par l'arène. -

-

Premier tour de jeu (your_strikes et his_strikes sont vides)

-
-    [game] => Battleship
-    [match_id] => 834-1
-    [act] => fight
-    [opponent] => stupidIA
-    [width] => 10
-    [height] => 10
-    [ship1] => 0
-    [ship2] => 1
-    [ship3] => 2
-    [ship4] => 1
-    [ship5] => 1
-    [ship6] => 0
-    [your_strikes] => []
-    [his_strikes] => []
-
-

Deuxième tour de jeu

-
-    [game] => Battleship
-    [match_id] => 834-1
-    [act] => fight
-    [opponent] => stupidIA
-    [width] => 10
-    [height] => 10
-    [ship1] => 0
-    [ship2] => 1
-    [ship3] => 2
-    [ship4] => 1
-    [ship5] => 1
-    [ship6] => 0
-    [your_strikes] => [{"target":"4,6","result":""}]
-    [his_strikes] => [{"target":"7,8","result":""}]
-
-

Troisième tour de jeu

-
-    [game] => Battleship
-    [match_id] => 834-1
-    [act] => fight
-    [opponent] => stupidIA
-    [width] => 10
-    [height] => 10
-    [ship1] => 0
-    [ship2] => 1
-    [ship3] => 2
-    [ship4] => 1
-    [ship5] => 1
-    [ship6] => 0
-    [your_strikes] => [{"target":"4,6","result":""},{"target":"3,9","result":"hit"}]
-    [his_strikes] => [{"target":"7,8","result":""},{"target":"7,8","result":""}]
-
-

Vous devez tout simplement retourner l'adresse de la case sur laquelle vous souhaitez tirer sous forme de x,y

-
-    6,9
-
-

- Pour tirer aux coordonnées x=6 y=9 -

\ No newline at end of file +

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

\ No newline at end of file