diff --git a/src/scenes/classique.py b/src/scenes/classique.py index d8bf0ba..cd6f9e1 100644 --- a/src/scenes/classique.py +++ b/src/scenes/classique.py @@ -64,15 +64,17 @@ def __initialize_world(world: World): Texture("classique/background.png"), ) + # Bouton valider/rejouer world.create_entity( Position(Display.WIDTH / 2, 900), Order(1), Centered(), Texture("classique/valider.png"), HoveredTexture("classique/valider_hover.png"), - Clickable(lambda world, _: check_number(world)), + Clickable(lambda world, _: _update(world)), ) + # Zone de saisie world.create_entity( Position(Display.WIDTH / 2, 750), Order(2), @@ -104,6 +106,7 @@ def __initialize_world(world: World): Text("il reste : 7 essais"), ) + # Bouton pour revenir au menu world.create_entity( Order(11), Position(100, 100), @@ -112,18 +115,21 @@ def __initialize_world(world: World): HoveredTexture("classique/arrow_hover.png"), ) + # Les ressources. world[NombreEssai] = NombreEssai(7) world[RandomNumber] = RandomNumber(random.randint(0, 99)) world[IsRunning] = IsRunning() -def check_number(world: World): +def _update(world: World): """ Verifie si le nombre donné est le meme que celui que l'on a choisi. + Boucle du jeu. """ - # si le jeu s'est arrete, on empeche de continuer. + # si le jeu s'est arrete. if IsRunning not in world: + # on relance le jeu. world[Game].change_scene("classique") for entity in world.query(typing.Typing, Text): @@ -131,20 +137,21 @@ def check_number(world: World): number: str = entity[Text] entity[Text] = Text("") + # On gere le l'input de l'utilisateur. for entity_text in world.query(TextDialogue): - if number == "": + if number == "": # si il a rien evoyé. entity_text[Text] = Text("tu doit entrer un nombre !") return - if world[RandomNumber] == int(number): + if world[RandomNumber] == int(number): # si il a trouve le nombre. end_game(world, "Gagné") return - elif world[NombreEssai] <= 1: + elif world[NombreEssai] <= 1: # si il n'a plus d'essai. end_game(world, "Perdu") print("Perdu") return - elif world[RandomNumber] > int(number): + elif world[RandomNumber] > int(number): # si le nombre est trop petit. entity_text[Text] = Text("Plus grand...") - else: + else: # si le nombre est trop grand. entity_text[Text] = Text("Plus petit...") # on update l'affichage du nombre d'essai. @@ -157,10 +164,11 @@ def check_number(world: World): def end_game(world: World, state: str): """ - Create the end buton + fonction applé quand le jeu est fini. """ - del world[IsRunning] + del world[IsRunning] # le jeu est fini. + # On affiche le message de fin. for entity_text in world.query(TextDialogue): entity_text[Text] = Text(f"{state} !") @@ -183,11 +191,11 @@ def end_game(world: World, state: str): def _check_return(world: World): """ - Verifie si la touche return est appuyée. + Verifie si la touche entrée est appuyée. """ keyboard = world[Keyboard] if keyboard.is_key_pressed("return"): - check_number(world) + _update(world) SCENE = (