🏗️ ♻️ restructuration du projet et refactoring #3
@@ -50,35 +50,38 @@ 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:
|
|
||||||
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:
|
|
||||||
print("\n ------ Pièce vide ------ \n")
|
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:
|
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} !")
|
||||||
|
|||||||
Reference in New Issue
Block a user