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';