From 10626324e43958a1e73855a9582ceee0bb03afc8 Mon Sep 17 00:00:00 2001 From: SMoraisDev Date: Wed, 9 Oct 2024 13:23:45 +0200 Subject: [PATCH] feat: Add level difficulty --- src/demineur.py | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/demineur.py b/src/demineur.py index 2e308f0..a4555c7 100644 --- a/src/demineur.py +++ b/src/demineur.py @@ -4,9 +4,26 @@ class Demineur: """Class representing a Deminer game""" - def __init__(self, nombre_mines=10): - self.taille = 10 - self.nombre_mines = nombre_mines + def __init__(self, difficulte='moyen'): + """ + Initialize the game with a grid and place mines based on difficulty level. + + :param difficulte: Difficulty level of the game ('facile', 'moyen', 'difficile'). + :raises ValueError: If the difficulty level is not one of 'facile', 'moyen', or 'difficile'. + """ + if difficulte not in ['facile', 'moyen', 'difficile']: + raise ValueError("Le niveau de difficultĂ© doit ĂȘtre 'facile', 'moyen' ou 'difficile'.") + + if difficulte == 'facile': + self.taille = 8 + self.nombre_mines = 10 + elif difficulte == 'difficile': + self.taille = 16 + self.nombre_mines = 40 + else: # moyen + self.taille = 10 + self.nombre_mines = 20 + self.grille = [['.' for _ in range(self.taille)] for _ in range(self.taille)] self.grille_visible = [['.' for _ in range(self.taille)] for _ in range(self.taille)] self.__placer_mines() @@ -78,5 +95,9 @@ def jouer(self): if __name__ == "__main__": - jeu = Demineur() - jeu.jouer() + niveau_difficulte = input("Choisissez un niveau de difficulte (facile, moyen, difficile): ") + try: + jeu = Demineur(niveau_difficulte) + jeu.jouer() + except ValueError as e: + print(e)