diff --git a/src/elironwars/app.py b/src/elironwars/app.py index 678ea5c..88aa552 100644 --- a/src/elironwars/app.py +++ b/src/elironwars/app.py @@ -1,53 +1,9 @@ -import os import sys -from enum import Enum from .base_mob import BaseMob from .character_builder import CharacterBuilder from .level import Level - - -class Action(Enum): - PIECE_SUIVANTE = (1, "Pièce suivante") - COMBAT = (2, "Combat") - FUIR = (3, "Fuir") - QUITTER = (4, "Quitter") - - @property - def code(self): - return self.value[0] - - @property - def libelle(self): - return self.value[1] - - -def clear_console() -> None: - os.system('cls' if os.name == 'nt' else 'clear') - - -def action_menu(actions_autorisees: list[Action] = None) -> Action: - """Affiche le menu et retourne une action valide.""" - - actions_autorisees = list(Action) if actions_autorisees is None else actions_autorisees - - while True: - print("\n------ Menu Action ------\n") - - for action in actions_autorisees: - print(f"{action.libelle:<20} : {action.code}") - - try: - choix = int(input("\nChoix : ")) - clear_console() - for action in actions_autorisees: - if action.code == choix: - return action - - print("Mauvais choix") - except ValueError: - clear_console() - print("Veuillez saisir un nombre.") +from .menu import Action, action_menu def play_room(room: list[BaseMob], level: Level) -> int: diff --git a/src/elironwars/menu.py b/src/elironwars/menu.py index df04b3a..0d10d47 100644 --- a/src/elironwars/menu.py +++ b/src/elironwars/menu.py @@ -1,25 +1,45 @@ - -# def main_loop(breaker:bool): -# pass - -# def menu (): -# print("Nouvelle partie :\t1") -# print("Charger :\t\t2") -# print("Option :\t\t3") -# print("Quitter :\t\t4") -# return int(input("Choix : ")) +import os +from enum import Enum -# choix = menu() +class Action(Enum): + PIECE_SUIVANTE = (1, "Pièce suivante") + COMBAT = (2, "Combat") + FUIR = (3, "Fuir") + QUITTER = (4, "Quitter") -# match choix: -# case 1: -# print("Nouvelle partie") -# case 2: -# print("Charger") -# case 3: -# print("Option") -# case 4: -# print("Quitter") -# case _: -# print("Mauvais choix") + @property + def code(self): + return self.value[0] + + @property + def libelle(self): + return self.value[1] + + +def clear_console() -> None: + os.system('cls' if os.name == 'nt' else 'clear') + + +def action_menu(actions_autorisees: list[Action] = None) -> Action: + """Affiche le menu et retourne une action valide.""" + + actions_autorisees = list(Action) if actions_autorisees is None else actions_autorisees + + while True: + print("\n------ Menu Action ------\n") + + for action in actions_autorisees: + print(f"{action.libelle:<20} : {action.code}") + + try: + choix = int(input("\nChoix : ")) + clear_console() + for action in actions_autorisees: + if action.code == choix: + return action + + print("Mauvais choix") + except ValueError: + clear_console() + print("Veuillez saisir un nombre.")