' . $joueur . ' joue

'; $html .= SquadroUIGenerator::plateauDeJeu($plateau, $joueur); // Fermeture de la page en utilisant la méthode pied() de ton ami $html .= self::pied(); return $html; } /** * Génère la page d'accueil du jeu. * * @return string Le code HTML de la page d'accueil. */ public static function pageAccueil(): string { // Utilisation de la méthode d'entête de ton ami $html = self::entete("Bienvenue dans le jeu Squadro"); // Contenu spécifique à la page d'accueil $html .= '

Vous jouez avec quelles pièces?

'; // Fermeture de la page en utilisant la méthode pied() de ton ami $html .= self::pied(); return $html; } /** * Génère la page de fin de jeu. * * @param PlateauSquadro $plateau * @param String $joueur * @return string Le code HTML de la page de fin de jeu. */ public static function pageFinDeJeu(PlateauSquadro $plateau, string $joueur): string { // Utilisation de la méthode d'entête de ton ami $html = self::entete("Fin de la Partie"); // Contenu spécifique à la page de fin de jeu $html .= '

' . $joueur . ' a gagné

'; $html .= self::plateauDeJeu($plateau, ''); // Fermeture de la page en utilisant la méthode pied() de ton ami $html .= self::pied(); return $html; } /** * Génère la page de confirmation de mouvement avec un formulaire. * * @param int $x La coordonnée x de la pièce sélectionnée. * @param int $y La coordonnée y de la pièce sélectionnée. * @return string Le code HTML de la page de confirmation de mouvement. */ public static function pageConfirmerMouvement(int $x, int $y): string { // Générer l'entête de la page $html = self::entete("Confirmer le mouvement"); // Contenu de la page avec un formulaire pour confirmer le déplacement $html .= '

Confirmer le mouvement

Vous avez choisi de déplacer la pièce située en (' . $x . ', ' . $y . ').

'; // Ajouter le pied de page $html .= self::pied(); return $html; } /** * Méthode pour générer l'en-tête HTML. * Utilisée par toutes les pages pour inclure le début de la structure HTML. * * @param string $title Titre de la page. * @return string Le code HTML de l'en-tête. */ public static function entete(string $title): string { $entete = ' Squadro '; return $entete; } /** * Méthode pour générer le pied de page HTML. * Utilisée par toutes les pages pour inclure la fin de la structure HTML. * * @return string Le code HTML du pied de page. */ public static function pied(): string { $pied = " "; return $pied; } /** * Génère le plateau de jeu avec des boutons liés à des formulaires. * * @param PlateauSquadro $plateau L'état actuel du plateau. * @param string $joueur Le joueur actif ("Blanc" ou "Noir"). * @return string Le code HTML du plateau de jeu. */ public static function plateauDeJeu(PlateauSquadro $plateau, string $joueur): string { $jouableBlanc = $joueur == "Blanc"; $jouableNoir = !$jouableBlanc; $html = '

'; $html .= ''; for ($i = 0; $i < 9; $i++) { $html .= ''; for ($j = 0; $j < 9; $j++) { $html .= ''; } $html .= ''; } $html .= '
'; // Coins du plateau if (($i == 0 || $i == 8) && ($j == 0 || $j == 8)) { $html .= PieceSquadroUI::boutonTexte(''); } // Indicateurs des mouvements noirs (haut et bas du plateau) else if ($i == 0) { $html .= PieceSquadroUI::boutonTexte(($j > 1 && $j < 7) ? PlateauSquadro::NOIR_V_RETOUR[$j - 1] : ''); } else if ($i == 8) { $html .= PieceSquadroUI::boutonTexte(($j > 1 && $j < 7) ? PlateauSquadro::NOIR_V_ALLER[$j - 1] : ''); } // Indicateurs des mouvements blancs (gauche et droite du plateau) else if ($j == 0) { $html .= PieceSquadroUI::boutonTexte(($i > 1 && $i < 7) ? PlateauSquadro::BLANC_V_ALLER[$i - 1] : ''); } else if ($j == 8) { $html .= PieceSquadroUI::boutonTexte(($i > 1 && $i < 7) ? PlateauSquadro::BLANC_V_RETOUR[$i - 1] : ''); } // Cases jouables avec des pièces else { $piece = $plateau->getPiece($i - 1, $j - 1); $html .= '
'; $html .= ''; if ($piece->getCouleur() == PieceSquadro::VIDE) { $html .= PieceSquadroUI::boutonVide(); } else if ($piece->getCouleur() == PieceSquadro::NEUTRE) { $html .= PieceSquadroUI::boutonNeutre(); } else if ($piece->getCouleur() == PieceSquadro::BLANC) { $html .= PieceSquadroUI::boutonBlanc($i - 1, $j - 1, $piece, $jouableBlanc); } else if ($piece->getCouleur() == PieceSquadro::NOIR) { $html .= PieceSquadroUI::boutonNoir($i - 1, $j - 1, $piece, $jouableNoir); } $html .= '
'; // Fermeture du formulaire } $html .= '
'; return $html; } /** * Génère une page annonçant la détection d'une erreur. * * @return string Le code HTML de la page d'erreur. */ public static function pageErreur(): string { // Utilisation de la méthode d'entête de ton ami $html = self::entete("Erreur"); // Contenu spécifique à la page d'erreur $html .= '

Une erreur s\'est produite

'; return $html; } }