diff --git a/app.py b/app.py index 4817a5f..42d6a1d 100644 --- a/app.py +++ b/app.py @@ -50,35 +50,38 @@ def action_menu(actions_autorisees: list[Action] = None) -> Action: print("Veuillez saisir un nombre.") -def play_room(room: list[BaseMob], level: Level) -> None: - print(f"Pièce actuelle : {level.current_room_index}") - if room is not None: - for mob in room: - print(f"Un {mob.name} est devant toi !") - match action_menu([Action.COMBAT, Action.FUIR]): - case Action.COMBAT: - level.combat(mob, level.player) - if level.player.current_pv <= 0: - print("!!!!!!!!! Joueur mort !!!!!!!!!!") - break - if mob.current_pv == 0: - print(f"Le {mob.name} est mort !!") - case Action.FUIR: - print("Tu fuis la pièce") - else: +def play_room(room: list[BaseMob], level: Level) -> int: + if room is None: print("\n ------ Pièce vide ------ \n") + return 1 + + for mob in room: + print(f"Un {mob.name} est devant toi !") + match action_menu([Action.COMBAT, Action.FUIR]): + case Action.COMBAT: + level.combat(mob, level.player) + if level.player.current_pv <= 0: + print("!!!!!!!!! Joueur mort !!!!!!!!!!") + sys.exit(0) + if mob.current_pv == 0: + print(f"Le {mob.name} est mort !!") + case Action.FUIR: + print("Tu fuis la pièce") + return 0 + + return 1 def play_donjon(level: Level) -> None: while level.exit_level: + print(f"Pièce actuelle : {level.current_room_index}") match action_menu([Action.PIECE_SUIVANTE, Action.QUITTER]): case Action.PIECE_SUIVANTE: if level.current_room_index >= len(level.rooms): print("fin du donjon !") break - play_room(level.rooms[level.current_room_index], level) + level.current_room_index += play_room(level.rooms[level.current_room_index], level) level.player.current_pv = level.player.max_pv - level.current_room_index += 1 case Action.QUITTER: level.exit_level = False print(f"Au revoir {level.player.name} !")