diff --git a/R3.01/tp/tp4/ex2/helpers.php b/R3.01/tp/tp4/ex2/helpers.php
index 211e12c..f733f64 100644
--- a/R3.01/tp/tp4/ex2/helpers.php
+++ b/R3.01/tp/tp4/ex2/helpers.php
@@ -1,54 +1,83 @@
';
- for ($i = 0; $i < 3; $i ++){
- echo "
";
- for ($j = 0; $j < 3; $j ++){
+ for ($i = 0; $i < 3; $i++) {
+ echo '
';
+ for ($j = 0; $j < 3; $j++) {
+ echo '| ';
- echo " | ";
-
- $pos = 3*$i + $j;
- if ($grid[$pos] == 0)
+ $pos = 3 * $i + $j;
+ if ($grid[$pos] == 0 && $isInteractive) {
echo "";
- if ($grid[$pos] == 1)
+ }
+ if ($grid[$pos] == 1) {
echo '';
- if ($grid[$pos] == 2)
+ }
+ if ($grid[$pos] == 2) {
echo '';
+ }
- echo " | ";
+ echo '';
}
- echo "
";
+ echo '';
}
- echo "";
+ echo '';
}
diff --git a/R3.01/tp/tp4/ex2/index.php b/R3.01/tp/tp4/ex2/index.php
index 2c1717b..6222985 100644
--- a/R3.01/tp/tp4/ex2/index.php
+++ b/R3.01/tp/tp4/ex2/index.php
@@ -1,11 +1,70 @@
array('min_range' => 0, 'max_range' => 8))
+ );
+
+ if ($pos === false || $pos === null) {
+ $message = 'Coup invalide.';
+ } elseif ($grid[$pos] !== 0) {
+ $message = 'Cette case est déjà occupée.';
+ } else {
+ // On enregistre le coup du joueur courant dans la grille.
+ $grid[$pos] = $playerTurn;
+
+ if (isWinner($grid, $playerTurn)) {
+ $message = "Le joueur $playerTurn gagne la partie.";
+ } elseif (noWinner($grid)) {
+ $message = 'Match nul.';
+ } else {
+ $playerTurn = nextPlayer($playerTurn);
+ }
+
+ $_SESSION['grid'] = $grid;
+ $_SESSION['playerTurn'] = $playerTurn;
+ }
+
+ $winner = getWinner($grid);
+ $isGameOver = $winner !== 0 || noWinner($grid);
+}
+
+// Si la page est simplement rafraîchie, on recalcule un message cohérent
+// à partir de l'état stocké en session.
+if ($message === '') {
+ if ($winner !== 0) {
+ $message = "Le joueur $winner gagne la partie.";
+ } elseif (noWinner($grid)) {
+ $message = 'Match nul.';
+ }
+}
+
+include_once './views/tictactoe.php';
diff --git a/R3.01/tp/tp4/ex2/views/tictactoe.php b/R3.01/tp/tp4/ex2/views/tictactoe.php
index 130bf00..8b16508 100644
--- a/R3.01/tp/tp4/ex2/views/tictactoe.php
+++ b/R3.01/tp/tp4/ex2/views/tictactoe.php
@@ -1,23 +1,35 @@
-
+
+
+ Tic Tac Toe
+ rel="stylesheet"
+ href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css"
+ />
-
- Tic Tac Toe :
+
+
+ Partie terminée
+
+ Tic Tac Toe : joueur à vous de jouer
+
+
$message new game";
- ?>
+ if ($message != '') {
+ echo '' . htmlspecialchars($message, ENT_QUOTES) . " nouvelle partie
";
+ } else {
+ echo "Recommencer la partie
";
+ }
+ ?>