diff --git a/AUTHORS.md b/AUTHORS.md index d02eb3e..4f3ea6e 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -18,3 +18,4 @@ - Théo, POSENEL, theo.posenel@gmail.com - Mourad, LARBI MESSAOUDI, moradlarbi1@gmail.com - Minh Quang, CAO, caominhquang2002@gmail.com +- Maria, TOUILZAK, mariatouilzak19@gmail.com diff --git a/src/demineur.py b/src/demineur.py index 0442482..fb47462 100644 --- a/src/demineur.py +++ b/src/demineur.py @@ -4,6 +4,9 @@ import os import time from statistiques import Statistiques +from colorama import Fore, Back, Style, init + +init() # Initialiser colorama class Demineur: """Class representing a Deminer game""" @@ -83,7 +86,22 @@ def afficher_grille(self): """A Function to show the game's board""" print(" "+ " ".join([str(i) for i in range(self.taille)])) for idx, ligne in enumerate(self.grille_visible): - print(f"{idx:2}| " + ' '.join(ligne) + " |") + #print(f"{idx:2}| " + ' '.join(ligne) + " |") + print(f"{idx:2}| ", end="") + + for case in ligne: + # Affichage coloré des cases + if case == 'M': + print(Fore.RED + 'M', end=" ") # Mine en rouge + elif case == 'F': + print(Fore.YELLOW + 'F', end=" ") # Drapeau en jaune + elif case == '■': + print(Style.BRIGHT + Fore.GREEN + '■', end=" ") # Case non découverte en vert clair + elif case == '0': + print(Fore.WHITE + '0', end=" ") # Nombre de mines autour en blanc + else: + print(Fore.CYAN + case, end=" ") # Autres nombres en cyan + print(Style.RESET_ALL) # Réinitialiser la couleur mines_restantes = self.nombre_mines - sum(row.count('M') for row in self.grille_visible) @@ -125,6 +143,10 @@ def marquer_case(self, x, y): self.grille_visible[y][x] = '.' elif self.grille_visible[y][x] == '.': self.grille_visible[y][x] = 'F' + # La case est toujours masquée, on peut poser un drapeau + elif self.grille_visible[y][x] == '■': + self.grille_visible[y][x] = 'F' + print(f"Case ({x}, {y}) marquée avec un drapeau.") else: print("La case est déjà découverte et ne peut pas être marquée.") @@ -159,7 +181,7 @@ def jouer(self): continue try: - if len(choix) == 3 and choix[0] == 'f': + if len(choix) == 3 and choix[0].lower() == 'f': # Marquer/démarquer une case x, y = map(int, choix[1:]) self.marquer_case(x, y)