🏗️ ♻️ restructuration du projet et refactoring #3

Merged
bbaudouin merged 29 commits from toucan into develop 2026-07-18 06:33:34 +01:00
3 changed files with 22 additions and 26 deletions
Showing only changes of commit 73b918f2f1 - Show all commits
+11 -3
View File
@@ -1,9 +1,9 @@
import sys import sys
from elironwars.mob.base_mob import BaseMob
from elironwars.mob.character_builder import CharacterBuilder
from .level import Level from .level import Level
from .menu import Action, action_menu from .menu import Action, action_menu
from .mob.base_mob import BaseMob
from .mob.character_builder import CharacterBuilder
def play_room(room: list[BaseMob], level: Level) -> int: def play_room(room: list[BaseMob], level: Level) -> int:
@@ -50,7 +50,15 @@ def app() -> None:
print(loaded_character) print(loaded_character)
level = Level(2, loaded_character) # Créer des instances de BaseMob
yanaar = BaseMob("Yanaar", 15, 2, 1, 3, 2)
ulnarain = BaseMob("Ulnarain", 20, 3, 3, 2, 2)
skroll = BaseMob("Skroll", 25, 5, 3, 1, 2)
# Liste d'instances de BaseMob (au lieu d'un ensemble pour autoriser des doublons)
mobs_list = [yanaar, skroll, ulnarain]
level = Level(2, loaded_character, mobs_list)
print(f"Nombre de pièce dans le donjon : {len(level.rooms)}") print(f"Nombre de pièce dans le donjon : {len(level.rooms)}")
play_donjon(level) play_donjon(level)
+2 -5
View File
@@ -1,16 +1,13 @@
""" Class Level """
import random
from .mobs_utils import generate_random_mob_list, generate_random_rooms from .mobs_utils import generate_random_mob_list, generate_random_rooms
class Level: class Level:
""" Class Level """ """ Class Level """
def __init__(self, difficulty, player): def __init__(self, difficulty, player, mob_list):
""" Chargement du niveau """ """ Chargement du niveau """
print("Loading Level") print("Loading Level")
self.mobs_in_level = generate_random_mob_list(random.randint(2, difficulty)) self.mobs_in_level = generate_random_mob_list(mob_list, difficulty)
self.exit_level = True self.exit_level = True
self.player = player self.player = player
self.rooms = generate_random_rooms(self.mobs_in_level, difficulty) # Liste des pièces du niveau self.rooms = generate_random_rooms(self.mobs_in_level, difficulty) # Liste des pièces du niveau
+4 -13
View File
@@ -1,20 +1,11 @@
import random import random
from elironwars.mob.base_mob import BaseMob
# Créer des instances de BaseMob def generate_random_mob_list(mob_list, max_mobs):
yanaar = BaseMob("Yanaar", 15, 2, 1, 3, 2)
ulnarain = BaseMob("Ulnarain", 20, 3, 3, 2, 2)
skroll = BaseMob("Skroll", 25, 5, 3, 1, 2)
# Liste d'instances de BaseMob (au lieu d'un ensemble pour autoriser des doublons)
mobs_list = [yanaar, skroll, ulnarain]
def generate_random_mob_list(max_mobs):
""" """
Génère une liste aléatoire de mobs à partir de la liste des instances disponibles. Génère une liste aléatoire de mobs à partir de la liste fournie.
:param mob_list: Liste de mob a choisir aleatoirement.
:param max_mobs: Le nombre maximum de mobs dans la liste générée. :param max_mobs: Le nombre maximum de mobs dans la liste générée.
:return: Une liste de mobs sélectionnés aléatoirement. :return: Une liste de mobs sélectionnés aléatoirement.
""" """
@@ -22,7 +13,7 @@ def generate_random_mob_list(max_mobs):
return [] return []
num_mobs = random.randint(2, max_mobs) num_mobs = random.randint(2, max_mobs)
selected_mobs = [random.choice(mobs_list) for _ in range(num_mobs)] selected_mobs = [random.choice(mob_list) for _ in range(num_mobs)]
return selected_mobs return selected_mobs