🏗️ ♻️ restructuration du projet et refactoring #3
+11
-3
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user