♻️ refactor play_room

This commit is contained in:
2026-07-16 20:41:19 +02:00
parent 38ea663dad
commit b8763ba373
+11 -8
View File
@@ -50,9 +50,11 @@ def action_menu(actions_autorisees: list[Action] = None) -> Action:
print("Veuillez saisir un nombre.") print("Veuillez saisir un nombre.")
def play_room(room: list[BaseMob], level: Level) -> None: def play_room(room: list[BaseMob], level: Level) -> int:
print(f"Pièce actuelle : {level.current_room_index}") if room is None:
if room is not None: print("\n ------ Pièce vide ------ \n")
return 1
for mob in room: for mob in room:
print(f"Un {mob.name} est devant toi !") print(f"Un {mob.name} est devant toi !")
match action_menu([Action.COMBAT, Action.FUIR]): match action_menu([Action.COMBAT, Action.FUIR]):
@@ -60,25 +62,26 @@ def play_room(room: list[BaseMob], level: Level) -> None:
level.combat(mob, level.player) level.combat(mob, level.player)
if level.player.current_pv <= 0: if level.player.current_pv <= 0:
print("!!!!!!!!! Joueur mort !!!!!!!!!!") print("!!!!!!!!! Joueur mort !!!!!!!!!!")
break sys.exit(0)
if mob.current_pv == 0: if mob.current_pv == 0:
print(f"Le {mob.name} est mort !!") print(f"Le {mob.name} est mort !!")
case Action.FUIR: case Action.FUIR:
print("Tu fuis la pièce") print("Tu fuis la pièce")
else: return 0
print("\n ------ Pièce vide ------ \n")
return 1
def play_donjon(level: Level) -> None: def play_donjon(level: Level) -> None:
while level.exit_level: while level.exit_level:
print(f"Pièce actuelle : {level.current_room_index}")
match action_menu([Action.PIECE_SUIVANTE, Action.QUITTER]): match action_menu([Action.PIECE_SUIVANTE, Action.QUITTER]):
case Action.PIECE_SUIVANTE: case Action.PIECE_SUIVANTE:
if level.current_room_index >= len(level.rooms): if level.current_room_index >= len(level.rooms):
print("fin du donjon !") print("fin du donjon !")
break 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.player.current_pv = level.player.max_pv
level.current_room_index += 1
case Action.QUITTER: case Action.QUITTER:
level.exit_level = False level.exit_level = False
print(f"Au revoir {level.player.name} !") print(f"Au revoir {level.player.name} !")