Files
Benjamin Baudouin 0b081682c5 init
2026-05-13 21:18:37 +02:00

59 lines
2.1 KiB
Python

from character_builder import CharacterBuilder
from level_one import Level
import os
def action_menu():
""" Menu Action du niveau """
print("\n------ Menu Action ------\n")
print("Pièce Suivante :\t 1")
print("Combat : \t\t\t 2")
print("Fuir : \t\t\t\t 3")
print("Quitter :\t\t\t 4")
return int(input("\nChoix : "))
# Exemple d'utilisation
if __name__ == "__main__":
loaded_character = CharacterBuilder.load_character("Jamin")
if loaded_character:
print(loaded_character)
level = Level(2, CharacterBuilder.load_character("Jamin"))
player = level.player
rooms = level.rooms
number_room = len(rooms)
print(f"Nombre de pièce dans le donjon : {number_room}")
while level.exit_level:
os.system('cls' if os.name == 'nt' else 'clear')
match action_menu():
case 1:
if level.current_room_index >= number_room:
print("fin du donjon !")
break
room = rooms[level.current_room_index]
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():
case 2:
level.combat(mob, player)
if player.current_pv <= 0:
print("!!!!!!!!! Joueur mort !!!!!!!!!!")
break
if mob.current_pv == 0:
print(f"Le {mob.name} est mort !!")
case 3:
print("Tu fuis la pièce")
else:
print("\n ------ Pièce vide ------ \n")
player.current_pv = player.max_pv
level.current_room_index += 1
case 4:
level.exit_level = False
print(f"Au revoir {player.name} !")
case _:
print("Mauvais choix")