From c0037d0941fb07421428cff820c7d9a6af9a2cf1 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Thu, 4 Nov 2021 18:34:19 +0100 Subject: [PATCH] adding bold text --- minimax.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/minimax.py b/minimax.py index 7b63dda..bb6bebb 100644 --- a/minimax.py +++ b/minimax.py @@ -1,4 +1,4 @@ -from math import sqrt +from math import sqrt # Utile pour avoir dynamiquement le nombre de cases a validé pour gagner une partie class Minimax: """Définition de l'algorithme minimax.""" @@ -25,7 +25,7 @@ class Minimax: """Renvoie la liste des cellules vides depuis un état.""" pass - def main(self, n: int, p: list, j: str) -> list: # p state, n depth, j player + def algorithme(self, n: int, p: list, j: str) -> list: # p state, n depth, j player """Évaluation de `p` à une profondeur `n` (joueur j).""" if self.terminale(p) or n == 0: # si p terminale ou n = 0 f = self.evaluation(p) @@ -68,6 +68,7 @@ class Morpion(Minimax): super().__init__(self._recuperationEtatsGagnants(), joueurA, joueurB) self.joueurA = joueurA self.joueurB = joueurB + self.gagnant = '' def _definitionPlateau(self, x: int, y: int) -> list: """ @@ -197,6 +198,8 @@ class Morpion(Minimax): if fini: # meme chose, on quitte la boucle for (i) si on a fini break + if fini: + self.gagnant = joueur return fini def _coordonneesCaseDepuisNumero(self, numero: int) -> tuple[int, int]: @@ -232,14 +235,20 @@ class Morpion(Minimax): return int(reponse) + def gras(self, texte: str) -> str: + """Fonction qui renvoie le texte en argument en gras.""" + return f"\033[1m{texte}\033[0m" + def jouer(self) -> None: """Lance la partie de Morpion.""" while not self._terminer(): # tant que la partie n'est pas terminé self.afficher() # affichage du plateau reponse = self._demandeCase() # on demande où le joueur veut posé sa pièce self._placementPiece(self.joueurA, reponse) # on place la pièce du joueur + # self._placementPiece(self.joueurB, self.algorithme()) self.afficher() # affichage du plateau final - print("🎉 Partie terminé, un joueur a gagné !") + print(f"🎉 Partie terminée, le {self.gras(f'joueur {self.gagnant}')} a gagné !") if __name__ == "__main__": # Si on lance directement le fichier et on s'en sert pas comme module Morpion('X', 'O').jouer() # On lance la partie à l'instanciation du Morpion + # Morpion('X', 'O', (4, 4)).jouer() # Si on veut lancer le morpion avec un plateau 4x4