From 6307f2e1e26c960e44c28c9e632dda67bb7fcf60 Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 13:29:37 +0100
Subject: [PATCH 01/39] specs
---
html/StupidIABattleship.php | 11 ++++++++++-
src/arenas/Battleship/act.php | 2 +-
src/arenas/Battleship/doc-fr.html | 27 +++++++++++++++++++++------
3 files changed, 32 insertions(+), 8 deletions(-)
diff --git a/html/StupidIABattleship.php b/html/StupidIABattleship.php
index 25e4a71..32afcdd 100644
--- a/html/StupidIABattleship.php
+++ b/html/StupidIABattleship.php
@@ -1,2 +1,11 @@
'Battleship',
- 'act' => 'init',
'match_id' => $_SESSION['matchId']."-1",
+ 'act' => 'init',
'opponent' => $bot2['name'],
'width' => $postValues['gridWidth'],
'height' => $postValues['gridHeight'],
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index cd2f505..ed790e8 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -1,7 +1,22 @@
-Initialisation de la partie
-Pour démarrer la partie, l'arène va envoyer une requette http(s) à votre programme contenant les paramètres POST suivants:
+La bataille navale se joue en trois phases:
+- Placement des bateaux sur les maps
+- Echange de tirs
+- Fin de partie
+
+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.
+Paramètres communs à toutes les phases de jeu
+"game"
+string, sera toujours "Battleship" Peut servir si votre url sert à plusieurs jeux
+"match_id"
+String. répond à l'expression réguilière suivante: ^[0-9]+-(1|2)$
+Le premier numéro (avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà tiré. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amenée à disputer plusieurs matchs (avec des match_id différents). Le numéro après le tiret vous indique si vous etes je bot 1 ou le bot 2 dans l'ordre de jeu. ça vous servira notemment à gérer les cas où votre bot assure les deux joueurs.
+"act"
+ Peut prendre trois valeurs:
\ No newline at end of file
+ "init" c'est l'objet de ce châpitre de la doc. On démarre la partie, vous devez placer vos bateaux
+ "play" Vous prenez subissez un tir, et envoyez aussi un tir
+ "end" La partie est finie
+
+
+Initialisation de la partie
+
From b72f52382cab332c9828567e4791c7ce88af914f Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 13:30:47 +0100
Subject: [PATCH 02/39] specs
---
src/arenas/Battleship/doc-fr.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index ed790e8..a46817f 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -9,7 +9,7 @@
string, sera toujours "Battleship" Peut servir si votre url sert à plusieurs jeux
"match_id"
String. répond à l'expression réguilière suivante: ^[0-9]+-(1|2)$
-Le premier numéro (avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà tiré. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amenée à disputer plusieurs matchs (avec des match_id différents). Le numéro après le tiret vous indique si vous etes je bot 1 ou le bot 2 dans l'ordre de jeu. ça vous servira notemment à gérer les cas où votre bot assure les deux joueurs.
+Le premier numéro (avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà tiré. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amené à disputer plusieurs matchs simultanément (avec des match_id différents). Le numéro après le tiret vous indique si vous etes je bot 1 ou le bot 2 dans l'ordre de jeu. ça vous servira notemment à gérer les cas où votre bot assure les deux joueurs.
"act"
Peut prendre trois valeurs:
From 60038314de1ab923c19ce30c4d50bae9ff71999a Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 13:32:04 +0100
Subject: [PATCH 03/39] specs
---
src/arenas/Battleship/doc-fr.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index a46817f..9ab2b20 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -9,11 +9,11 @@
string, sera toujours "Battleship" Peut servir si votre url sert à plusieurs jeux
"match_id"
String. répond à l'expression réguilière suivante: ^[0-9]+-(1|2)$
-Le premier numéro (avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà tiré. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amené à disputer plusieurs matchs simultanément (avec des match_id différents). Le numéro après le tiret vous indique si vous etes je bot 1 ou le bot 2 dans l'ordre de jeu. ça vous servira notemment à gérer les cas où votre bot assure les deux joueurs.
+Le premier numéro (avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà tiré. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amené à disputer plusieurs matchs simultanément (avec des match_id différents). Le numéro après le tiret vous indique si vous êtes le bot 1 ou le bot 2 dans l'ordre de jeu. Ca vous servira notemment à gérer les cas où votre bot joue les deux joueurs.
"act"
Peut prendre trois valeurs:
- - "init" c'est l'objet de ce châpitre de la doc. On démarre la partie, vous devez placer vos bateaux
+ - "init" On démarre la partie, vous devez placer vos bateaux
- "play" Vous prenez subissez un tir, et envoyez aussi un tir
- "end" La partie est finie
From b31cb829c8b7cd55d1e9de5dda466bdc9afc8f7d Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 13:50:34 +0100
Subject: [PATCH 04/39] specs
---
src/arenas/Battleship/doc-fr.html | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index 9ab2b20..3cfa588 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -19,4 +19,11 @@
Initialisation de la partie
+Infos reçues par votre bot
+"opponent"
+String identifiant votre adversaire. Ainsi, vous poussez le délire jusqu'à faire un algorythme qui s'adapte en fonction de l'adversaire et de l'historique des combats avec ce dernier
+"width"
+integer, Vous indique la largeur de la map
+"height"
+integer, Vous indique la hauteur de la map
\ No newline at end of file
From af767995f8cf32da98d2b7f0189d9afbbb21267f Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 13:51:25 +0100
Subject: [PATCH 05/39] specs
---
src/arenas/Battleship/doc-fr.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index 3cfa588..f3ece06 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -21,7 +21,7 @@
Initialisation de la partie
Infos reçues par votre bot
"opponent"
-String identifiant votre adversaire. Ainsi, vous poussez le délire jusqu'à faire un algorythme qui s'adapte en fonction de l'adversaire et de l'historique des combats avec ce dernier
+String 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
"width"
integer, Vous indique la largeur de la map
From 959624e24e5dab79b42bce22dd0ab4cd4c368fc3 Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 13:53:44 +0100
Subject: [PATCH 06/39] specs
---
src/arenas/Battleship/doc-fr.html | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index f3ece06..6e2cd02 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -13,13 +13,14 @@
"act"
Peut prendre trois valeurs:
- - "init" On démarre la partie, vous devez placer vos bateaux
+ - "" On démarre la partie, vous devez placer vos bateaux
- "play" Vous prenez subissez un tir, et envoyez aussi un tir
- "end" La partie est finie
Initialisation de la partie
Infos reçues par votre bot
+Votre recevra les paramètres communs à toutes les phases de jeu (avec act => init) et les suivants:
"opponent"
String 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
From 299416d5a59b0667e423100429208411472ca87e Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 13:54:03 +0100
Subject: [PATCH 07/39] specs
---
src/arenas/Battleship/doc-fr.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index 6e2cd02..1bbca56 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -20,7 +20,7 @@
Initialisation de la partie
Infos reçues par votre bot
-Votre recevra les paramètres communs à toutes les phases de jeu (avec act => init) et les suivants:
+Votre bot recevra les paramètres communs à toutes les phases de jeu (avec act => init) et les suivants:
"opponent"
String 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
From 038acae4c1848f36e9e6a24109e6f66b5265b28c Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 13:55:05 +0100
Subject: [PATCH 08/39] specs
---
src/arenas/Battleship/doc-fr.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index 1bbca56..263fd51 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -13,7 +13,7 @@
"act"
Peut prendre trois valeurs:
- - "" On démarre la partie, vous devez placer vos bateaux
+ - "init" On démarre la partie, vous devez placer vos bateaux
- "play" Vous prenez subissez un tir, et envoyez aussi un tir
- "end" La partie est finie
From 23eeda0d3ab5054c7d3b78c81a5457a67985d84e Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:01:16 +0100
Subject: [PATCH 09/39] specs
---
src/arenas/Battleship/doc-fr.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index 263fd51..de7a0bd 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -9,7 +9,7 @@
string, sera toujours "Battleship" Peut servir si votre url sert à plusieurs jeux
"match_id"
String. répond à l'expression réguilière suivante: ^[0-9]+-(1|2)$
-Le premier numéro (avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà tiré. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amené à disputer plusieurs matchs simultanément (avec des match_id différents). Le numéro après le tiret vous indique si vous êtes le bot 1 ou le bot 2 dans l'ordre de jeu. Ca vous servira notemment à gérer les cas où votre bot joue les deux joueurs.
+Le premier nombre (digits avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà tiré. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amené à disputer plusieurs matchs simultanément (avec des match_id différents). Le numéro après le tiret vous indique si vous êtes le bot 1 ou le bot 2 dans l'ordre de jeu. Ca vous servira notemment à gérer les cas où votre bot joue les deux joueurs.
"act"
Peut prendre trois valeurs:
From 116a5b7a688c92ab66a36adfd34bafc38925cc09 Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:02:05 +0100
Subject: [PATCH 10/39] specs
---
src/arenas/Battleship/doc-fr.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index de7a0bd..566c950 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -9,7 +9,7 @@
string, sera toujours "Battleship" Peut servir si votre url sert à plusieurs jeux
"match_id"
String. répond à l'expression réguilière suivante: ^[0-9]+-(1|2)$
-Le premier nombre (digits avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà tiré. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amené à disputer plusieurs matchs simultanément (avec des match_id différents). Le numéro après le tiret vous indique si vous êtes le bot 1 ou le bot 2 dans l'ordre de jeu. Ca vous servira notemment à gérer les cas où votre bot joue les deux joueurs.
+Le premier nombre (digits avant le tiret) identifie le match. L'arène ne vous rappelera pas à chaque tour les cases que vous avez déjà ciblé. A vous de les sauvegarder en attendant le tour suivant. D'autant que votre bot peut être amené à disputer plusieurs matchs simultanément (avec des match_id différents). Le numéro après le tiret vous indique si vous êtes le bot 1 ou le bot 2 dans l'ordre de jeu. Ca vous servira notemment à gérer les cas où votre bot joue les deux joueurs.
"act"
Peut prendre trois valeurs:
From a33849bbb84c5c328b9ded277cdce545b5a14f21 Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:03:22 +0100
Subject: [PATCH 11/39] specs
---
src/legals.html | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/legals.html b/src/legals.html
index c387290..6c601dc 100644
--- a/src/legals.html
+++ b/src/legals.html
@@ -1,11 +1,9 @@
-
Mentions légales
Directeur de la publication: Gnieark.
Ce site personnel est hébergé par mes soins sur un serveur dédié mis à ma disposition par la société :Online SAS - BP 438 - 75366 Paris CEDEX 08 - RCS Paris B 433 115 904 Cette dernière connait mon identité.
Je vous invite, si vous estimiez que le contenu de ce site, vous causerait quelques préjudices que ce soient, à prendre directement attache avec moi via twitter @gnieark ou par e-mail gniearkAROBAZEfreePOINTfr plutot qu’auprès de mon prestataire. D’autant que ce dernier, hormis le fait de connaitre mon identité et de pouvoir débrancher électriquement le serveur hébergeant ce site, n’a aucun accès sur le contenu de ce dernier.
Que je décide de prendre en compte vos griefs ou non, je ne manquerai pas de vous répondre rapidement.
-
-
+
Copy left
Ce site a été codé avec amour principalement par Gnieark et est distribué sous licence GNU GPL V3. Son code source est disponible sur github.com/gnieark/botsArena.
Il intègre quelques morceaux de code tiers:
@@ -698,4 +696,3 @@ Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
\ No newline at end of file
From 101a17a66e087e766a5ce8984113d0c47e9a33ab Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:04:57 +0100
Subject: [PATCH 12/39] specs
---
src/legals.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/legals.html b/src/legals.html
index 6c601dc..e1e83fe 100644
--- a/src/legals.html
+++ b/src/legals.html
@@ -1,6 +1,6 @@
Mentions légales
Directeur de la publication: Gnieark.
-Ce site personnel est hébergé par mes soins sur un serveur dédié mis à ma disposition par la société :Online SAS - BP 438 - 75366 Paris CEDEX 08 - RCS Paris B 433 115 904 Cette dernière connait mon identité.
+Ce site personnel est hébergé par mes soins sur un serveur dédié mis à ma disposition par la société :Online SAS - BP 438 - 75366 Paris CEDEX 08 - RCS Paris B 433 115 904. Cette dernière connait mon identité.
Je vous invite, si vous estimiez que le contenu de ce site, vous causerait quelques préjudices que ce soient, à prendre directement attache avec moi via twitter @gnieark ou par e-mail gniearkAROBAZEfreePOINTfr plutot qu’auprès de mon prestataire. D’autant que ce dernier, hormis le fait de connaitre mon identité et de pouvoir débrancher électriquement le serveur hébergeant ce site, n’a aucun accès sur le contenu de ce dernier.
Que je décide de prendre en compte vos griefs ou non, je ne manquerai pas de vous répondre rapidement.
From 41e451a887caaa3623327115729aadf9b0eb3c5c Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:05:56 +0100
Subject: [PATCH 13/39] specs
---
src/legals.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/legals.html b/src/legals.html
index e1e83fe..c97f2d6 100644
--- a/src/legals.html
+++ b/src/legals.html
@@ -1,6 +1,6 @@
Mentions légales
Directeur de la publication: Gnieark.
-Ce site personnel est hébergé par mes soins sur un serveur dédié mis à ma disposition par la société :Online SAS - BP 438 - 75366 Paris CEDEX 08 - RCS Paris B 433 115 904. Cette dernière connait mon identité.
+Ce site personnel est hébergé par mes soins sur un serveur dédié mis à ma disposition par la société :Online SAS - BP 438 - 75366 Paris CEDEX 08. Cette dernière connait mon identité.
Je vous invite, si vous estimiez que le contenu de ce site, vous causerait quelques préjudices que ce soient, à prendre directement attache avec moi via twitter @gnieark ou par e-mail gniearkAROBAZEfreePOINTfr plutot qu’auprès de mon prestataire. D’autant que ce dernier, hormis le fait de connaitre mon identité et de pouvoir débrancher électriquement le serveur hébergeant ce site, n’a aucun accès sur le contenu de ce dernier.
Que je décide de prendre en compte vos griefs ou non, je ne manquerai pas de vous répondre rapidement.
From 9aa5b5a5bad66e5562bd3b0e4aada6623065d8ff Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:07:01 +0100
Subject: [PATCH 14/39] specs
---
src/legals.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/legals.html b/src/legals.html
index c97f2d6..ad8e203 100644
--- a/src/legals.html
+++ b/src/legals.html
@@ -1,7 +1,7 @@
Mentions légales
Directeur de la publication: Gnieark.
Ce site personnel est hébergé par mes soins sur un serveur dédié mis à ma disposition par la société :Online SAS - BP 438 - 75366 Paris CEDEX 08. Cette dernière connait mon identité.
-Je vous invite, si vous estimiez que le contenu de ce site, vous causerait quelques préjudices que ce soient, à prendre directement attache avec moi via twitter @gnieark ou par e-mail gniearkAROBAZEfreePOINTfr plutot qu’auprès de mon prestataire. D’autant que ce dernier, hormis le fait de connaitre mon identité et de pouvoir débrancher électriquement le serveur hébergeant ce site, n’a aucun accès sur le contenu de ce dernier.
+Je vous invite, si vous estimiez que le contenu de ce site, vous causerait quelques préjudices que ce soient, à prendre directement attache avec moi via twitter @gnieark ou par e-mail gniearkAROBAZEfreePOINTfr plutot qu’auprès de mon prestataire. D’autant que ce dernier, hormis le fait de connaitre mon identité et de pouvoir débrancher électriquement le serveur hébergeant, entre autres, ce site, n’a aucun accès sur le contenu de ce dernier.
Que je décide de prendre en compte vos griefs ou non, je ne manquerai pas de vous répondre rapidement.
Copy left
From 15ced117d44afc1f0d374b704beaabbfde32fe1b Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:07:38 +0100
Subject: [PATCH 15/39] specs
---
src/legals.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/legals.html b/src/legals.html
index ad8e203..631391d 100644
--- a/src/legals.html
+++ b/src/legals.html
@@ -1,7 +1,7 @@
Mentions légales
Directeur de la publication: Gnieark.
Ce site personnel est hébergé par mes soins sur un serveur dédié mis à ma disposition par la société :Online SAS - BP 438 - 75366 Paris CEDEX 08. Cette dernière connait mon identité.
-Je vous invite, si vous estimiez que le contenu de ce site, vous causerait quelques préjudices que ce soient, à prendre directement attache avec moi via twitter @gnieark ou par e-mail gniearkAROBAZEfreePOINTfr plutot qu’auprès de mon prestataire. D’autant que ce dernier, hormis le fait de connaitre mon identité et de pouvoir débrancher électriquement le serveur hébergeant, entre autres, ce site, n’a aucun accès sur le contenu de ce dernier.
+Je vous invite, si vous estimiez que le contenu de ce site, vous causerait quelques préjudices que ce soient, à prendre directement attache avec moi via twitter @gnieark ou par e-mail gniearkAROBAZEfreePOINTfr plutot qu’auprès de mon prestataire. D’autant que ce dernier, hormis le fait de connaitre mon identité et de pouvoir débrancher électriquement le serveur hébergeant, entre autres ce site, n’a aucun accès sur le contenu de ce dernier.
Que je décide de prendre en compte vos griefs ou non, je ne manquerai pas de vous répondre rapidement.
Copy left
From 7bd568cfe8a0838172cdc26fd716fec27a029a8a Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:44:26 +0100
Subject: [PATCH 16/39] specs
---
src/arenas/Battleship/doc-fr.html | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index 566c950..33f7205 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -25,6 +25,16 @@
String 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
"width"
-integer, Vous indique la largeur de la map
+integer, compris entre 1 et 100, bornes incluses, vous indique la largeur de la map
"height"
-integer, Vous indique la hauteur de la map
\ No newline at end of file
+integer, compris entre 1 et 100, bornes incluses, Vous indique la hauteur de la map
+"ship1"
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 1 case à placer
+"ship2"
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 2 cases à placer
+"ship3"
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 3 cases à placer
+...
+...
+"ship6"
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 6 cases à placer
\ No newline at end of file
From 8e100f4a35bb7217caafc353f3acf14fc41d6382 Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 14:45:21 +0100
Subject: [PATCH 17/39] specs
---
src/arenas/Battleship/doc-fr.html | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index 33f7205..2521fa5 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -22,19 +22,19 @@
Infos reçues par votre bot
Votre bot recevra les paramètres communs à toutes les phases de jeu (avec act => init) et les suivants:
"opponent"
-String 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
+String 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.
"width"
-integer, compris entre 1 et 100, bornes incluses, vous indique la largeur de la map
+integer, compris entre 1 et 100, bornes incluses, vous indique la largeur de la map.
"height"
-integer, compris entre 1 et 100, bornes incluses, Vous indique la hauteur de la map
+integer, compris entre 1 et 100, bornes incluses, Vous indique la hauteur de la map.
"ship1"
-integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 1 case à placer
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 1 case à placer.
"ship2"
-integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 2 cases à placer
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 2 cases à placer.
"ship3"
-integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 3 cases à placer
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 3 cases à placer.
...
...
"ship6"
-integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 6 cases à placer
\ No newline at end of file
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 6 cases à placer.
\ No newline at end of file
From c82b6c434e02850825dc15701fe5b71af955b235 Mon Sep 17 00:00:00 2001
From: gnieark
Date: Sat, 12 Dec 2015 19:10:15 +0100
Subject: [PATCH 18/39] specs
---
html/.StupidIABattleship.php.kate-swp | Bin 0 -> 1067 bytes
html/StupidIABattleship.php | 24 +++++++++++++++++++++---
src/arenas/Battleship/doc-fr.html | 5 ++++-
3 files changed, 25 insertions(+), 4 deletions(-)
create mode 100644 html/.StupidIABattleship.php.kate-swp
diff --git a/html/.StupidIABattleship.php.kate-swp b/html/.StupidIABattleship.php.kate-swp
new file mode 100644
index 0000000000000000000000000000000000000000..5733c1656db3e9f76935a381d97be427a46c1909
GIT binary patch
literal 1067
zcmZ9K%}&BV6ot#e1QkUQ5q}v85fCtd#>BA3#JIBy7Dlisl{S%WX)3n5?;af}}83T6gTwAQZSJgBv`Tp|PPWeCgsfV}k
z*WbghkKW~{e!?RuzN36coaUIP!B@mH-~#b1c$+u|9uUughs5(>i#QJM5ifu{#EalQ
zaRO`*FM)mHB-kWg2HV8wQLTT4bDXu$tCgdRQl(IPsuy#lPD7n<>Sz4Kmr$oEyd%Tm
z&&z|$6fc04bVabz%r01IrUX`+DRZ7O?T*u>oHb~Q#Ptc@2R}CT7C%w)K_ErtSWzZd
zpulxBP@q>VMS;F>Er#Mb_zmMk2!;>~v*M%&F$@{Yv^|!+GltB$VXo&h_qJ~h9W&ct
zUB_xrR#=-0vkIR_luGz4=LoL~pFN5TpIu_%vz#mFu_H=p!dW?|h^-z false, //false-> string ; true -> integer
+ 'opponent' => false,
+ 'width' => true,
+ 'height' => true,
+ 'ship1' => true,
+ 'ship2' => true,
+ 'ship3' => true,
+ 'ship4' => true,
+ 'ship5' => true,
+ 'ship6' => true
+ );
+ foreach($wantedVars as $key => $shouldBeInteger){
+ if(($shouldBeInteger) && (!is_numeric($_POST[$key]))){
+ echo "var is not numeric"; die;
+ }
+ $$key=$_POST[$key];
+ }
+
+
+
break;
default:
break;
diff --git a/src/arenas/Battleship/doc-fr.html b/src/arenas/Battleship/doc-fr.html
index 2521fa5..5933375 100644
--- a/src/arenas/Battleship/doc-fr.html
+++ b/src/arenas/Battleship/doc-fr.html
@@ -37,4 +37,7 @@
...
...
"ship6"
-integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 6 cases à placer.
\ No newline at end of file
+integer, compris entre 0 et 10, bornes incluses, Vous indique le nombre de bateaux de longeur 6 cases à placer.
+Ce que doit retourner votre bot
+Il doit retourner la position des navires.
+
From d273c2a5cbeb55a7c335b71335a3f3d28243536f Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Sat, 12 Dec 2015 20:00:41 +0100
Subject: [PATCH 19/39] dfd
---
html/.StupidIABattleship.php.kate-swp | Bin 1067 -> 0 bytes
html/StupidIABattleship.php | 21 +++++++++++++++++++++
2 files changed, 21 insertions(+)
delete mode 100644 html/.StupidIABattleship.php.kate-swp
diff --git a/html/.StupidIABattleship.php.kate-swp b/html/.StupidIABattleship.php.kate-swp
deleted file mode 100644
index 5733c1656db3e9f76935a381d97be427a46c1909..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1067
zcmZ9K%}&BV6ot#e1QkUQ5q}v85fCtd#>BA3#JIBy7Dlisl{S%WX)3n5?;af}}83T6gTwAQZSJgBv`Tp|PPWeCgsfV}k
z*WbghkKW~{e!?RuzN36coaUIP!B@mH-~#b1c$+u|9uUughs5(>i#QJM5ifu{#EalQ
zaRO`*FM)mHB-kWg2HV8wQLTT4bDXu$tCgdRQl(IPsuy#lPD7n<>Sz4Kmr$oEyd%Tm
z&&z|$6fc04bVabz%r01IrUX`+DRZ7O?T*u>oHb~Q#Ptc@2R}CT7C%w)K_ErtSWzZd
zpulxBP@q>VMS;F>Er#Mb_zmMk2!;>~v*M%&F$@{Yv^|!+GltB$VXo&h_qJ~h9W&ct
zUB_xrR#=-0vkIR_luGz4=LoL~pFN5TpIu_%vz#mFu_H=p!dW?|h^-z= 0; $shipWidth--){
+ //nombre de bateau à placer de cette taille
+ $shipCount=$('ship'.$shipWidth); // #trollface
+ for( $sh = 0; $sh < $shipCount; $sh++){
+ $xtest=rand($width);
+
+
+
+ }
+ }
break;
From 5fcecd8f2759fc5f00be0e21e0910dc757a3b759 Mon Sep 17 00:00:00 2001
From: gnieark
Date: Mon, 14 Dec 2015 08:04:32 +0100
Subject: [PATCH 20/39] .
---
html/StupidIABattleship.php | 100 ++++++++++++++++++++++++++++++++++--
1 file changed, 96 insertions(+), 4 deletions(-)
diff --git a/html/StupidIABattleship.php b/html/StupidIABattleship.php
index d3ebed1..be45296 100644
--- a/html/StupidIABattleship.php
+++ b/html/StupidIABattleship.php
@@ -1,4 +1,7 @@
= 0; $shipWidth--){
//nombre de bateau à placer de cette taille
$shipCount=$('ship'.$shipWidth); // #trollface
for( $sh = 0; $sh < $shipCount; $sh++){
- $xtest=rand($width);
-
-
-
+ $directions=array();
+ while( count($directions) == 0){
+
+ do{
+ $xtest=rand(0,$width -1);
+ $ytest=rand(0,$height -1);
+ }while($map[$ytest][$xtest] == 1);
+
+ //Y a t'il la place pour le bateau vers le haut?
+ if($ytest < $shipWidth){
+ $top=false;
+ }else{
+ $top=true;
+ for($i = $ytest; $i > $ytest - $shipWidth; $i--){
+ if($map[$i][$xtest] == 1){
+ $top=false;
+ break;
+ }
+ }
+ }
+
+ //vers le bas
+ if($ytest + $shipWidth > $height){
+ $bottom=false;
+ }else{
+ $bottom=true;
+ for($y=$ytest; $i < $ytest + $shipWidth; $i++){
+ if($map[$i][$xtest] == 1){
+ $bottom=false;
+ break;
+ }
+ }
+ }
+
+ //droite
+ if($xtest + $shipWidth > $width){
+ $rigth=false;
+ }else{
+ $right=true;
+ for($i=$xtest; $i < $xtest + $shipWidth, $i++){
+ if($map[$ytest][$y] == 1){
+ $right= false;
+ break;
+ }
+ }
+ }
+
+ //gauche
+ if($xtest < $shipWidth){
+ $left=false;
+ }else{
+ $left=true;
+ for($i = $xtest; $i > $xtest - $shipWidth; $i--){
+ if($map[$ytest][$y] == 1){
+ $left= false;
+ break;
+ }
+ }
+ }
+
+
+ $directions=array();
+ if($top){
+ $directions[]='top';
+ }
+ if($bottom){
+ $directions[]='bottom';
+ }
+ if($left){
+ $directions[]='left';
+ }
+ if($right){
+ $directions[]='right';
+ }
+ }
+
+ shuffle($directions);
+ switch($directions[0]){
+ case 'top':
+ $shipsCoords[]=$xtest.",".$ytest."-".$ytest.",".$ytest - $shipWidth;
+
+ break;
+ case 'bottom':
+ break;
+ case 'left':
+ break;
+ case 'right':
+ break;
+
+ }
+
}
}
From f2236e0a28bebc66cf07a80ef7ed36d44889a2a9 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 16:46:27 +0100
Subject: [PATCH 21/39] stupid IA place boats
---
html/StupidIABattleship.php | 48 +++++++++++++++++++++++++++++++++----
1 file changed, 43 insertions(+), 5 deletions(-)
diff --git a/html/StupidIABattleship.php b/html/StupidIABattleship.php
index be45296..cc8d0be 100644
--- a/html/StupidIABattleship.php
+++ b/html/StupidIABattleship.php
@@ -1,5 +1,37 @@
$x2) && ($y1 <> $y2)){
+ return false;
+ }
+
+ if($x1 == $x2){
+ //horizontal ship
+ if($y1 <= $y2 ){
+ $start=$y1;
+ $end=$y2;
+ }else{
+ $start=$y2;
+ $end=$y1;
+ }
+ for($i = $start; $i <= $end; $i++){
+ $map[$i][$x1]=1;
+ }
+ return $map;
+ }
+ if($y1 == $y2){
+ //vertical ship
+ if( $x1 <= $x2){
+ $start=$x1;
+ $end=$x2;
+ }else{
+ $start=$x2;
+ $end=$x1;
+ }
+ for( $i = $start; $i <= $end; $i++){
+ $map[$y1][$i]=1;
+ }
+ return $map;
+ }
}
switch($_POST['act']){
@@ -80,7 +112,7 @@ switch($_POST['act']){
}else{
$right=true;
for($i=$xtest; $i < $xtest + $shipWidth, $i++){
- if($map[$ytest][$y] == 1){
+ if($map[$ytest][$i] == 1){
$right= false;
break;
}
@@ -93,7 +125,7 @@ switch($_POST['act']){
}else{
$left=true;
for($i = $xtest; $i > $xtest - $shipWidth; $i--){
- if($map[$ytest][$y] == 1){
+ if($map[$ytest][$i] == 1){
$left= false;
break;
}
@@ -119,14 +151,20 @@ switch($_POST['act']){
shuffle($directions);
switch($directions[0]){
case 'top':
- $shipsCoords[]=$xtest.",".$ytest."-".$ytest.",".$ytest - $shipWidth;
-
+ $shipsCoords[]=$xtest.",".$ytest."-".$xtest.",".($ytest - $shipWidth);
+ $map= place_ship_on_map($xtest,$ytest,$xtest,$ytest - $shipWidth,$map);
break;
case 'bottom':
+ $shipsCoords[]=$xtest.",".$ytest."-".$xtest.",".($ytest + $shipWidth);
+ $map= place_ship_on_map($xtest,$ytest,$xtest,$ytest + $shipWidth,$map);
break;
case 'left':
+ $shipsCoords[]=$xtest.",".$ytest."-".($xtest - $shipWidth).",".$ytest;
+ $map= place_ship_on_map($xtest,$ytest,$xtest - $shipWidth ,$ytest,$map);
break;
case 'right':
+ $shipsCoords[]=$xtest.",".$ytest."-".($xtest + $shipWidth).",".$ytest;
+ $map= place_ship_on_map($xtest,$ytest,$xtest + $shipWidth ,$ytest,$map);
break;
}
@@ -134,7 +172,7 @@ switch($_POST['act']){
}
}
-
+ print_r($shipsCoords);
break;
default:
break;
From 88c227e1883007476ec3f13d51a5cf5b6b115115 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 16:48:27 +0100
Subject: [PATCH 22/39] fix dynamic var
---
html/StupidIABattleship.php | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/html/StupidIABattleship.php b/html/StupidIABattleship.php
index cc8d0be..f645b93 100644
--- a/html/StupidIABattleship.php
+++ b/html/StupidIABattleship.php
@@ -70,7 +70,8 @@ switch($_POST['act']){
//pour toutes les tailles de bateau
for($shipWidth = 6; $shipWidth >= 0; $shipWidth--){
//nombre de bateau à placer de cette taille
- $shipCount=$('ship'.$shipWidth); // #trollface
+ $dynVar='ship'.$shipWidth;
+ $shipCount=$$dynVar; // #trollface
for( $sh = 0; $sh < $shipCount; $sh++){
$directions=array();
while( count($directions) == 0){
From 3893ff6b9861f8d4c2860299c477356696e30cb0 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 16:49:33 +0100
Subject: [PATCH 23/39] fix parse error
---
html/StupidIABattleship.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/html/StupidIABattleship.php b/html/StupidIABattleship.php
index f645b93..66a6856 100644
--- a/html/StupidIABattleship.php
+++ b/html/StupidIABattleship.php
@@ -112,7 +112,7 @@ switch($_POST['act']){
$rigth=false;
}else{
$right=true;
- for($i=$xtest; $i < $xtest + $shipWidth, $i++){
+ for($i = $xtest; $i < $xtest + $shipWidth; $i++){
if($map[$ytest][$i] == 1){
$right= false;
break;
From 55a3826784dc2858db19b1419ae3c54afb75f3b9 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 16:51:18 +0100
Subject: [PATCH 24/39] fix parse regex
---
html/StupidIABattleship.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/html/StupidIABattleship.php b/html/StupidIABattleship.php
index 66a6856..d69626d 100644
--- a/html/StupidIABattleship.php
+++ b/html/StupidIABattleship.php
@@ -54,7 +54,7 @@ switch($_POST['act']){
}
$$key=$_POST[$key];
}
- if(!preg_match('^[0-9]+-(1|2)$',$match_id)){
+ if(!preg_match('/^[0-9]+-(1|2)$/',$match_id)){
echo "parametre incorrect"; die;
}
From 1b5222da3996008ed683c0fd6d3e0122223ff997 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 16:52:25 +0100
Subject: [PATCH 25/39] fix ship size limit
---
html/StupidIABattleship.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/html/StupidIABattleship.php b/html/StupidIABattleship.php
index d69626d..2a1912b 100644
--- a/html/StupidIABattleship.php
+++ b/html/StupidIABattleship.php
@@ -68,7 +68,7 @@ switch($_POST['act']){
$shipsCoords=array();
//pour toutes les tailles de bateau
- for($shipWidth = 6; $shipWidth >= 0; $shipWidth--){
+ for($shipWidth = 6; $shipWidth > 0; $shipWidth--){
//nombre de bateau à placer de cette taille
$dynVar='ship'.$shipWidth;
$shipCount=$$dynVar; // #trollface
From 42ac952d830fcc32c3869ad18d7f260e8ef822d2 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 16:55:48 +0100
Subject: [PATCH 26/39] fix typo
---
html/StupidIABattleship.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/html/StupidIABattleship.php b/html/StupidIABattleship.php
index 2a1912b..7701e49 100644
--- a/html/StupidIABattleship.php
+++ b/html/StupidIABattleship.php
@@ -83,7 +83,7 @@ switch($_POST['act']){
//Y a t'il la place pour le bateau vers le haut?
if($ytest < $shipWidth){
- $top=false;
+ $top=false;
}else{
$top=true;
for($i = $ytest; $i > $ytest - $shipWidth; $i--){
@@ -109,7 +109,7 @@ switch($_POST['act']){
//droite
if($xtest + $shipWidth > $width){
- $rigth=false;
+ $right=false;
}else{
$right=true;
for($i = $xtest; $i < $xtest + $shipWidth; $i++){
@@ -173,7 +173,7 @@ switch($_POST['act']){
}
}
- print_r($shipsCoords);
+ echo json_encode($shipsCoords);
break;
default:
break;
From d46636a74c145c9fd1ccdb798bf3954180def1dd Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 19:53:24 +0100
Subject: [PATCH 27/39] act.php
---
src/arenas/Battleship/act.php | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index cb7178b..2b9a293 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -82,7 +82,10 @@ switch ($_POST['act']){
);
- $anwserPlayer1 = get_IA_Response($bot1['url'],$bot1ParamsToSend);
+ if(!$boatsPlayer1 = json_decode(get_IA_Response($bot1['url'],$bot1ParamsToSend))){
+ echo $bot1['name']." a fait une réponse non conforme, il perd.";
+ save_battle('Battleship',$bot1['name'],$bot2['name'],2);
+ }
echo $anwserPlayer1; die;
break;
From fe3e1b2e547564b467f8cae9f6de05d0e2c6d6cc Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 19:55:07 +0100
Subject: [PATCH 28/39] act.php
---
src/arenas/Battleship/act.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index 2b9a293..03f5684 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -81,8 +81,8 @@ switch ($_POST['act']){
'ship6' => $postValues['nbShip6']
);
-
- if(!$boatsPlayer1 = json_decode(get_IA_Response($bot1['url'],$bot1ParamsToSend))){
+ $anwserPlayer1=get_IA_Response($bot1['url'],$bot1ParamsToSend);
+ if(!$boatsPlayer1 = json_decode($anwserPlayer1)){
echo $bot1['name']." a fait une réponse non conforme, il perd.";
save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}
From e07f3164035306c27eb057d6c31c7084fa633325 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 20:06:22 +0100
Subject: [PATCH 29/39] erf
---
src/arenas/Battleship/act.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index 03f5684..ece367c 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -83,7 +83,7 @@ switch ($_POST['act']){
);
$anwserPlayer1=get_IA_Response($bot1['url'],$bot1ParamsToSend);
if(!$boatsPlayer1 = json_decode($anwserPlayer1)){
- echo $bot1['name']." a fait une réponse non conforme, il perd.";
+ echo $bot1['name']." a fait une réponse non conforme, il perd.".$anwserPlayer1;
save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}
echo $anwserPlayer1; die;
From 1951865b0c338f6d23abba7ead675af631ca7d11 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 20:17:58 +0100
Subject: [PATCH 30/39] erf
---
src/arenas/Battleship/act.php | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index ece367c..5418e38 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -82,7 +82,8 @@ switch ($_POST['act']){
);
$anwserPlayer1=get_IA_Response($bot1['url'],$bot1ParamsToSend);
- if(!$boatsPlayer1 = json_decode($anwserPlayer1)){
+ $boatsPlayer1 = json_decode($anwserPlayer1);
+ if(!$boatsPlayer1){
echo $bot1['name']." a fait une réponse non conforme, il perd.".$anwserPlayer1;
save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}
From 49b6034f3dfd49f20484e8c9d1096f6f8216d16d Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 20:25:22 +0100
Subject: [PATCH 31/39] erf
---
src/arenas/Battleship/act.php | 2 +-
src/arenas/Battleship/js.js | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index 5418e38..af17a34 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -82,7 +82,7 @@ switch ($_POST['act']){
);
$anwserPlayer1=get_IA_Response($bot1['url'],$bot1ParamsToSend);
- $boatsPlayer1 = json_decode($anwserPlayer1);
+ $boatsPlayer1 = json_decode( html_entity_decode($anwserPlayer1));
if(!$boatsPlayer1){
echo $bot1['name']." a fait une réponse non conforme, il perd.".$anwserPlayer1;
save_battle('Battleship',$bot1['name'],$bot2['name'],2);
diff --git a/src/arenas/Battleship/js.js b/src/arenas/Battleship/js.js
index 1d07041..693540f 100644
--- a/src/arenas/Battleship/js.js
+++ b/src/arenas/Battleship/js.js
@@ -62,6 +62,7 @@ function battleship(bot1,bot2,gridWidth,gridHeight,nbShip1,nbShip2,nbShip3,nbShi
xhr.onreadystatechange = function(){if(xhr.readyState == 4){
if(xhr.status == 200) {
//debug
+ alert(xhr.responseText);
document.getElementById('logs').innerHTML = xhr.responseText;
}
}};
From 00a1d68c2d1d9545e511f6962606f628be300b91 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 21:06:01 +0100
Subject: [PATCH 32/39] erf
---
src/arenas/Battleship/act.php | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index af17a34..dd55199 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -87,7 +87,10 @@ switch ($_POST['act']){
echo $bot1['name']." a fait une réponse non conforme, il perd.".$anwserPlayer1;
save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}
- echo $anwserPlayer1; die;
+ //vérifier si'il y a le bon nombre de bateaux
+ print_r($boatsPlayer1);
+
+ //echo $anwserPlayer1; die;
break;
default:
From 9cc74ed9cad6e9d853e282a256b42570be334efd Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 22:05:50 +0100
Subject: [PATCH 33/39] verif nbe bateaux
---
src/arenas/Battleship/act.php | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index dd55199..5576a05 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -87,10 +87,31 @@ switch ($_POST['act']){
echo $bot1['name']." a fait une réponse non conforme, il perd.".$anwserPlayer1;
save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}
- //vérifier si'il y a le bon nombre de bateaux
- print_r($boatsPlayer1);
- //echo $anwserPlayer1; die;
+
+ //vérifier si'il y a le bon nombre de bateaux
+ $nbBoatsIwant=array(0,$postValues['nbShip1'],$postValues['nbShip2'],$postValues['nbShip3'],
+ $postValues['nbShip4'],$postValues['nbShip5'],$postValues['nbShip6']);
+ foreach($boatsPlayer1 as $boat){
+ list($startCoord,$endCoord) = explode("-",$boat);
+ list($xStart,$yStart)=explode(",",$startCoord);
+ list($xEnd,$yEnd)=explode(",",$endCoord);
+ if($xStart == $xEnd){
+ $long=abs($yStart - $yEnd);
+ }else{
+ $long=abs($xStart - $xEnd);
+ }
+ $nbBoatsIwant[$long]-=1;
+ }
+ foreach($nbBoatsIwant as $nb){
+ if($nb <> 0){
+ echo $bot1['name']." n'a pas placé correctement ses bateaux. Il perd";
+ save_battle('Battleship',$bot1['name'],$bot2['name'],2);
+ }
+ }
+
+
+ die;
break;
default:
From 0c4e3396e81c54b1be96e975772b1e8b3db18be4 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 22:07:09 +0100
Subject: [PATCH 34/39] remove alert
---
src/arenas/Battleship/js.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arenas/Battleship/js.js b/src/arenas/Battleship/js.js
index 693540f..fac22df 100644
--- a/src/arenas/Battleship/js.js
+++ b/src/arenas/Battleship/js.js
@@ -62,7 +62,7 @@ function battleship(bot1,bot2,gridWidth,gridHeight,nbShip1,nbShip2,nbShip3,nbShi
xhr.onreadystatechange = function(){if(xhr.readyState == 4){
if(xhr.status == 200) {
//debug
- alert(xhr.responseText);
+ //alert(xhr.responseText);
document.getElementById('logs').innerHTML = xhr.responseText;
}
}};
From 5349d192a8d9312c16abb56d992afe6d49877462 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 22:30:10 +0100
Subject: [PATCH 35/39] loop for the two players
---
src/arenas/Battleship/act.php | 99 ++++++++++++++++++++---------------
1 file changed, 57 insertions(+), 42 deletions(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index 5576a05..51a5940 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -62,51 +62,66 @@ switch ($_POST['act']){
$_SESSION['matchId']=get_unique_id();
+ for($player = 1; $player <= 2; $player++){
- // get_IA_Response($iaUrl,$postParams)
- //array à envoyer au bot 1
-
- $bot1ParamsToSend=array(
- 'game' => 'Battleship',
- 'match_id' => $_SESSION['matchId']."-1",
- 'act' => 'init',
- 'opponent' => $bot2['name'],
- 'width' => $postValues['gridWidth'],
- 'height' => $postValues['gridHeight'],
- 'ship1' => $postValues['nbShip1'],
- 'ship2' => $postValues['nbShip2'],
- 'ship3' => $postValues['nbShip3'],
- 'ship4' => $postValues['nbShip4'],
- 'ship5' => $postValues['nbShip5'],
- 'ship6' => $postValues['nbShip6']
-
- );
- $anwserPlayer1=get_IA_Response($bot1['url'],$bot1ParamsToSend);
- $boatsPlayer1 = json_decode( html_entity_decode($anwserPlayer1));
- if(!$boatsPlayer1){
- echo $bot1['name']." a fait une réponse non conforme, il perd.".$anwserPlayer1;
- save_battle('Battleship',$bot1['name'],$bot2['name'],2);
- }
-
-
- //vérifier si'il y a le bon nombre de bateaux
- $nbBoatsIwant=array(0,$postValues['nbShip1'],$postValues['nbShip2'],$postValues['nbShip3'],
- $postValues['nbShip4'],$postValues['nbShip5'],$postValues['nbShip6']);
- foreach($boatsPlayer1 as $boat){
- list($startCoord,$endCoord) = explode("-",$boat);
- list($xStart,$yStart)=explode(",",$startCoord);
- list($xEnd,$yEnd)=explode(",",$endCoord);
- if($xStart == $xEnd){
- $long=abs($yStart - $yEnd);
+ if($player==1){
+ $opponentName=$bot2['name'];
+ $currentBot=$bot1;
+ }else{
+ $opponentName=$bot1['name'];
+ $currentBot=$bot2;
+ }
+
+ $botParamsToSend=array(
+ 'game' => 'Battleship',
+ 'match_id' => $_SESSION['matchId']."-1",
+ 'act' => 'init',
+ 'opponent' => $opponentName,
+ 'width' => $postValues['gridWidth'],
+ 'height' => $postValues['gridHeight'],
+ 'ship1' => $postValues['nbShip1'],
+ 'ship2' => $postValues['nbShip2'],
+ 'ship3' => $postValues['nbShip3'],
+ 'ship4' => $postValues['nbShip4'],
+ 'ship5' => $postValues['nbShip5'],
+ 'ship6' => $postValues['nbShip6']
+
+ );
+ $anwserPlayer=get_IA_Response($currentBot['url'],$botParamsToSend);
+ $boatsPlayer = json_decode( html_entity_decode($anwserPlayer));
+ if(!$boatsPlayer){
+ echo $currentBot['name']." a fait une réponse non conforme, il perd.";
+ if($player==1){
+ save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}else{
- $long=abs($xStart - $xEnd);
+ save_battle('Battleship',$bot1['name'],$bot2['name'],1);
+ }
+ }
+
+
+ //vérifier si'il y a le bon nombre de bateaux
+ $nbBoatsIwant=array(0,$postValues['nbShip1'],$postValues['nbShip2'],$postValues['nbShip3'],
+ $postValues['nbShip4'],$postValues['nbShip5'],$postValues['nbShip6']);
+ foreach($boatsPlayer as $boat){
+ list($startCoord,$endCoord) = explode("-",$boat);
+ list($xStart,$yStart)=explode(",",$startCoord);
+ list($xEnd,$yEnd)=explode(",",$endCoord);
+ if($xStart == $xEnd){
+ $long=abs($yStart - $yEnd);
+ }else{
+ $long=abs($xStart - $xEnd);
+ }
+ $nbBoatsIwant[$long]-=1;
+ }
+ foreach($nbBoatsIwant as $nb){
+ if($nb <> 0){
+ echo $currentBot['name']." n'a pas placé correctement ses bateaux. Il perd";
+ if($player==1){
+ save_battle('Battleship',$bot1['name'],$bot2['name'],2);
+ }else{
+ save_battle('Battleship',$bot1['name'],$bot2['name'],1);
+ }
}
- $nbBoatsIwant[$long]-=1;
- }
- foreach($nbBoatsIwant as $nb){
- if($nb <> 0){
- echo $bot1['name']." n'a pas placé correctement ses bateaux. Il perd";
- save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}
}
From 0eab319240c782c39b7949b2bfb8b27e6b8a7c16 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 23:12:47 +0100
Subject: [PATCH 36/39] checking boats placd
---
src/arenas/Battleship/act.php | 25 ++++++++++++++---
src/arenas/Battleship/functions.php | 42 +++++++++++++++++++++++++++++
2 files changed, 63 insertions(+), 4 deletions(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index 51a5940..78e553d 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -98,8 +98,14 @@ switch ($_POST['act']){
}
}
-
- //vérifier si'il y a le bon nombre de bateaux
+ //init grid
+ for($y = 0; $y < $height){
+ for($x = 0; $x < $width){
+ $grid[$player][$y][$x]=0;
+ }
+ }
+
+ //vérifier si'il y a le bon nombre de bateaux et les placer
$nbBoatsIwant=array(0,$postValues['nbShip1'],$postValues['nbShip2'],$postValues['nbShip3'],
$postValues['nbShip4'],$postValues['nbShip5'],$postValues['nbShip6']);
foreach($boatsPlayer as $boat){
@@ -107,11 +113,20 @@ switch ($_POST['act']){
list($xStart,$yStart)=explode(",",$startCoord);
list($xEnd,$yEnd)=explode(",",$endCoord);
if($xStart == $xEnd){
- $long=abs($yStart - $yEnd);
+ $long=abs($yStart - $yEnd);
}else{
$long=abs($xStart - $xEnd);
}
$nbBoatsIwant[$long]-=1;
+ $grid[$player]=place_ship_on_map($xStart,$yStart,$xEnd,$yEnd,$grid[$player]);
+ if(!$grid[$player]){
+ echo $currentBot['name']." n'a pas placé correctement ses bateaux. Certains se chevauchent. Il perd";
+ if($player==1){
+ save_battle('Battleship',$bot1['name'],$bot2['name'],2);
+ }else{
+ save_battle('Battleship',$bot1['name'],$bot2['name'],1);
+ }
+ }
}
foreach($nbBoatsIwant as $nb){
if($nb <> 0){
@@ -122,9 +137,11 @@ switch ($_POST['act']){
save_battle('Battleship',$bot1['name'],$bot2['name'],1);
}
}
- }
+ }
}
+ $_SESSION['grids']=$grid;
+ echo json_encode($grid); die;
die;
diff --git a/src/arenas/Battleship/functions.php b/src/arenas/Battleship/functions.php
index e570ee1..7f1e08e 100644
--- a/src/arenas/Battleship/functions.php
+++ b/src/arenas/Battleship/functions.php
@@ -52,4 +52,46 @@ function get_IA_Response($iaUrl,$postParams){
$output = curl_exec($ch);
curl_close($ch);
return htmlentities($output);
+}
+function place_ship_on_map($x1,$y1,$x2,$y2,$map){
+ if (($x1 <> $x2) && ($y1 <> $y2)){
+ return false;
+ }
+
+ if($x1 == $x2){
+ //horizontal ship
+ if($y1 <= $y2 ){
+ $start=$y1;
+ $end=$y2;
+ }else{
+ $start=$y2;
+ $end=$y1;
+ }
+ for($i = $start; $i <= $end; $i++){
+ if($map[$i][$x1]==0){
+ $map[$i][$x1]=1;
+ }else{
+ return false;
+ }
+ }
+ return $map;
+ }
+ if($y1 == $y2){
+ //vertical ship
+ if( $x1 <= $x2){
+ $start=$x1;
+ $end=$x2;
+ }else{
+ $start=$x2;
+ $end=$x1;
+ }
+ for( $i = $start; $i <= $end; $i++){
+ if( $map[$y1][$i] == 0){
+ $map[$y1][$i]=1;
+ }else{
+ return false;
+ }
+ }
+ return $map;
+ }
}
\ No newline at end of file
From 254fd4e07793558c3e967bbb91c4c0ddca5ae765 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 23:14:00 +0100
Subject: [PATCH 37/39] fix php loop
---
src/arenas/Battleship/act.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index 78e553d..d948505 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -99,8 +99,8 @@ switch ($_POST['act']){
}
//init grid
- for($y = 0; $y < $height){
- for($x = 0; $x < $width){
+ for($y = 0; $y < $height; $y++){
+ for($x = 0; $x < $width; $x++){
$grid[$player][$y][$x]=0;
}
}
From deb74b073e668a86b1cf7859508ffb757899bee3 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 23:19:10 +0100
Subject: [PATCH 38/39] case ship outside map
---
src/arenas/Battleship/act.php | 4 ++--
src/arenas/Battleship/functions.php | 7 +++++--
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index d948505..091e900 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -99,8 +99,8 @@ switch ($_POST['act']){
}
//init grid
- for($y = 0; $y < $height; $y++){
- for($x = 0; $x < $width; $x++){
+ for($y = 0; $y < $postValues['gridHeight']; $y++){
+ for($x = 0; $x < $postValues['gridWidth']; $x++){
$grid[$player][$y][$x]=0;
}
}
diff --git a/src/arenas/Battleship/functions.php b/src/arenas/Battleship/functions.php
index 7f1e08e..deca0ce 100644
--- a/src/arenas/Battleship/functions.php
+++ b/src/arenas/Battleship/functions.php
@@ -54,9 +54,12 @@ function get_IA_Response($iaUrl,$postParams){
return htmlentities($output);
}
function place_ship_on_map($x1,$y1,$x2,$y2,$map){
- if (($x1 <> $x2) && ($y1 <> $y2)){
- return false;
+ if ((($x1 <> $x2) && ($y1 <> $y2))
+ OR (!isset($map[$y1][$x1]))
+ OR (!isset($map[$y2][$x2]))){
+ return false;
}
+
if($x1 == $x2){
//horizontal ship
From dd93ab07b811925ff43cee5de5f532f1c5c95654 Mon Sep 17 00:00:00 2001
From: Gnieark
Date: Mon, 14 Dec 2015 23:22:12 +0100
Subject: [PATCH 39/39] case ship outside map
---
src/arenas/Battleship/act.php | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/arenas/Battleship/act.php b/src/arenas/Battleship/act.php
index 091e900..2416726 100644
--- a/src/arenas/Battleship/act.php
+++ b/src/arenas/Battleship/act.php
@@ -96,6 +96,7 @@ switch ($_POST['act']){
}else{
save_battle('Battleship',$bot1['name'],$bot2['name'],1);
}
+ die;
}
//init grid
@@ -125,7 +126,8 @@ switch ($_POST['act']){
save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}else{
save_battle('Battleship',$bot1['name'],$bot2['name'],1);
- }
+ }
+ die;
}
}
foreach($nbBoatsIwant as $nb){
@@ -135,7 +137,8 @@ switch ($_POST['act']){
save_battle('Battleship',$bot1['name'],$bot2['name'],2);
}else{
save_battle('Battleship',$bot1['name'],$bot2['name'],1);
- }
+ }
+ die;
}
}
}