From 307f828cb2c4b4b36278711b3a38f981b57cd7e9 Mon Sep 17 00:00:00 2001 From: Gnieark Date: Thu, 24 Dec 2015 13:25:18 +0100 Subject: [PATCH] preparing site for translation home.php --- html/index.php | 2 +- lang/en.php | 5 +- lang/fr.php | 38 ++++--- src/arenas/Battleship/doc-en.html | 159 ++++++++++++++++++++++++++++++ src/home.php | 14 +-- 5 files changed, 195 insertions(+), 23 deletions(-) create mode 100644 src/arenas/Battleship/doc-en.html diff --git a/html/index.php b/html/index.php index 2ff7447..68f9f08 100644 --- a/html/index.php +++ b/html/index.php @@ -202,7 +202,7 @@ if (isset($_POST['xd_check'])){ ?> diff --git a/lang/en.php b/lang/en.php index 1712a10..9f55ffa 100644 --- a/lang/en.php +++ b/lang/en.php @@ -11,5 +11,8 @@ $lang=array( 'MAKE_DUEL' => 'Organise a duel', 'FIGHT' => 'Fight!', 'DEV-YOUR-OWN-BOT' => 'Program your own bot, and send it on this arena..', - 'DOC_SPECS_LINKS' =>'Read the technicals specifications' + 'DOC_SPECS_LINKS' =>'Read the technicals specifications', + 'ABOUT' => 'About', + 'LEGALS' => 'legal terms', + 'ADD_YOUR_BOT' => 'Add your bot' ); \ No newline at end of file diff --git a/lang/fr.php b/lang/fr.php index 7386a87..05c9086 100644 --- a/lang/fr.php +++ b/lang/fr.php @@ -1,20 +1,30 @@ 'fr', - 'SITE_NAME' => 'Arène à bots', - 'SITE_DESCRIPTION' => - '

Bienvenue sur cette arène à bots.
Ce site est en cours de développement. Il fonctionne, mais beaucoup de détails restent à régler, dont la traduction anglais
Ce vhost est une image de la branche dev du dépot github

-

Plusieurs jeux sont proposés ici. Vous ne devez pas y jouer, mais dévolopper le "bot" qui jouera en votre nom. - Ce site permet de faire s\'affronter les bots des différents développeurs.

', - 'HOME' => 'accueil', - 'VICTORIES' => 'victoires', - 'DRAW' => 'matchs nuls', - 'MAKE_DUEL' => 'Provoquer un duel', - 'FIGHT' => 'Baston!', - 'DEV-YOUR-OWN-BOT' => 'Developpez votre bot et envoyez le dans cette arène.', - 'DOC_SPECS_LINKS' =>'Voici les spécifications techniques', + 'lang' => 'fr', + 'SITE_NAME' => 'Arène à bots', + 'SITE_DESCRIPTION' => + '

Bienvenue sur cette arène à bots.
Ce site est en cours de développement. Il fonctionne, mais beaucoup de détails restent à régler, dont la traduction anglais
Ce vhost est une image de la branche dev du dépot github

+

Plusieurs jeux sont proposés ici. Vous ne devez pas y jouer, mais dévolopper le "bot" qui jouera en votre nom. + Ce site permet de faire s\'affronter les bots des différents développeurs.

', + 'HOME' => 'accueil', + 'VICTORIES' => 'victoires', + 'DRAW' => 'matchs nuls', + 'MAKE_DUEL' => 'Provoquer un duel', + 'FIGHT' => 'Baston!', + 'DEV-YOUR-OWN-BOT' => 'Developpez votre bot et envoyez le dans cette arène.', + 'DOC_SPECS_LINKS' =>'Voici les spécifications techniques', 'E_MAIL_ADD_BOT_INTRO' => 'Un grand merci pour la participation. Suivez le lien suivant pour valider l\'ajout du bot', 'E_MAIL_ADD_BOT_INTRO_HTML' => '

Un grand merci pour la participation.

Juste un click sur le lien suivant pour valider l\ajout du bot

', 'E_MAIL_ADD_BOT_SIGNATURE' => 'Gnieark', - 'E_MAIL_ADD_BOT_SIGNATURE_HTML' => '

Gnieark.

', + 'E_MAIL_ADD_BOT_SIGNATURE_HTML'=> '

Gnieark.

', + 'ABOUT' => 'A propos', + 'LEGALS' => 'Mentions légales', + 'ADD_YOUR_BOT' => 'Ajoutez votre bot', + 'BOT_NAME' => 'Nom de votre bot:', + 'YOUR_ALIAS_FOR_EXEMPLE' => 'Votre pseudonyme par exemple', + 'BOT_GAME' => 'Le jeu de votre bot', + 'BOT_URL' => 'L\'adresse URL de votre bot', + 'BOT_DESCRIPTION' => 'Description:', + 'YOUR_EMAIL_FOR_BOT_VALIDATION' =>'Votre adresse e-mail (servira pour la validation de votre BOT)', + 'SAVE_BOT' => 'Enregistrer" ); \ No newline at end of file diff --git a/src/arenas/Battleship/doc-en.html b/src/arenas/Battleship/doc-en.html new file mode 100644 index 0000000..0799f92 --- /dev/null +++ b/src/arenas/Battleship/doc-en.html @@ -0,0 +1,159 @@ +

Battleship is played in two steps:

Ces derniers doivent répondre selon les spécifications ci dessous + +

At each turn of the game, Arena makes http(s) queries to your bots. This queries contains POST parameters. Your bots have to answer as it is specified here.

+

Parameters' description sent by arena.

+ + + + + + + + + + + + + + + + +
POST parameterDescription
game string, always "Battleship". Is needed if your bot URL is used for several games.
match_idstring, matches this regex: ^[0-9]+-(1|2)$
+First number (digits before hyphen) logs the match. Number after hyphen logs the bot.If you are the first player it's "1", otherwhise "2".
+It could be usefull if you want to make statistics
act Can have two values:
+
    +
  • "init" We start the game, you have to place your ships.
  • +
  • "fight" Shoot.
  • +
opponent +Your opponent's authentification string +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.
ship3Entier, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 3 cases à placer.
......
ship6Entier, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 6 cases à placer.
your_strikes +

chaîne de caractères représentant un array au format JSON.
+ Ce parametre n'est envoyé que lors de la phase de tirs du jeu (act=fight). Il vous indique les tirs que vous avez déjà effectués et leur résultats.
+ Lors du premier tour de jeu, il représente un array vide

+

[ ]

+

Lors du deuxième tour de jeu, il contient le tir précédent et son résultat:

+

[{"target":"2,0","result":""}]

+

Lors du troisième tour de jeu, les deux tirs précédents

+

[{"target":"2,0","result":"hit"},{"target":"5,1","result":"hit"}]

+

Chaque tir est un sous array pour lesquels:

+
  • L'index target indique les coordonées du tir x,y
  • +
  • result peut être +
      +
    • Vide "" signifie que le tir n'a rien touché
    • +
    • "hit" Un navire ennemi a été touché
    • +
    • "hit and sunk" Un navire ennemi a été touché et coulé
    • +
    +
  • +
+
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 codant tableau JSON ayant autant d'enregistrements que de navires. +Chaque navire est défini par les coordonnées de ses extrémités.

+ +

Exemple de placement de 5 bateaux tailles respectives 5, 4, 3, 3, 2 cases:

+
+["3,3-3,7","2,1-2,4","0,1-0,3","7,3-7,1","8,8-7,8"]
+
+ +

Bien évidemment si vos bateaux se chevauchent, ou si leur nombre et leur longueur ne correspond pas à la demande de l'arène, vous perdez la partie

+

L'ordre des bateaux n'a pas d'importance. De la même manière, pour un bateau l'ordre de ses points n'importe pas non plus.

+

Vu sur la grille, l'exemple précédent donnerait:

+ + + + + + + + + + + + +
0123456789
0
1
2
3
4
5
6
7
8
9
+ +

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 x,y

+
+6,9
+
+

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

\ No newline at end of file diff --git a/src/home.php b/src/home.php index 582aa1c..9b5e5bc 100644 --- a/src/home.php +++ b/src/home.php @@ -2,11 +2,11 @@
-

Ajouter votre bot

+

-

-

+

+

-

-

-

-

+

+

+

+