jouePiece($_SESSION['x'], $_SESSION['y']); $couleur = ($_SESSION['joueur'] == 'Blanc')?PieceSquadro::BLANC:PieceSquadro::NOIR; // Vérifier la victoire if ($actionSquadro->remporteVictoire($couleur)) { $_SESSION['etat'] = 'victoire'; $_SESSION['gagnant'] = $_SESSION['joueur']; } else { // Changer de joueur s'il y a déplacement de pièce if($verifDeplacementPiece) $_SESSION['joueur'] = ($_SESSION['joueur'] === 'Blanc') ? 'Noir' : 'Blanc'; $_SESSION['etat'] = 'choixPiece'; } // Oublier les coordonnées de la pièce déplacée unset($_SESSION['x'], $_SESSION['y']); } break; case 'annulerChoix': if ($_SESSION['etat'] != 'confirmationPiece') { $_SESSION['etat'] = 'erreur'; } else { $_SESSION['etat'] = 'choixPiece'; unset($_SESSION['x'], $_SESSION['y']); } break; case 'rejouer': if ($_SESSION['etat'] != 'victoire' && $_SESSION['etat'] != 'erreur') { $_SESSION['etat'] = 'erreur'; }else{ session_unset(); } break; /*** action etape 4 ***/ case 'creerPartie': PDOSquadro::initPDO($_ENV['sgbd'], $_ENV['host'], $_ENV['database'], $_ENV['user'], $_ENV['password']); $partie = new PartieSquadro($_SESSION['player']); $json = $partie->toJson(); PDOSquadro::createPartieSquadro($_SESSION['player']->getNomJoueur(), $json); $_SESSION['etat'] = 'home'; $_SESSION['partieCreer'] = true; break; case 'rejoindrePartie': PDOSquadro::initPDO($_ENV['sgbd'], $_ENV['host'], $_ENV['database'], $_ENV['user'], $_ENV['password']); $gameId = intval($_POST['gameId']); $game = PDOSquadro::getPartieSquadroById($gameId); if ($game) { // Vérifier si la partie est déjà pleine if (!empty($game['playertwo'])) { $_SESSION['etat'] = 'erreur'; $_SESSION['message'] = 'Cette partie est déjà complète.'; } else { // Ajouter le joueur à la partie PDOSquadro::addPlayerToPartieSquadro($_SESSION['player']->getNomJoueur(), $gameId); // Mettre à jour l'état de la session $_SESSION['gameId'] = $gameId; $_SESSION['etat'] = 'choixPiece'; } } else { $_SESSION['etat'] = 'erreur'; $_SESSION['message'] = 'Partie introuvable.'; } break; } } header('Location: index.php');