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

49 lines
1.6 KiB
Python

import random
from base_mob import BaseMob
# 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]
def generate_random_mob_list(max_mobs):
"""
Génère une liste aléatoire de mobs à partir de la liste des instances disponibles.
: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.
"""
if max_mobs <= 0:
return []
num_mobs = random.randint(2, max_mobs)
selected_mobs = [random.choice(mobs_list) for _ in range(num_mobs)]
return selected_mobs
def generate_random_rooms(mobs_in_level, num_rooms):
"""
Génère un nombre spécifié de pièces et y distribue les mobs disponibles.
:param mobs_in_level: Liste des mobs disponibles pour le niveau.
:param num_rooms: Nombre total de pièces à générer.
:return: Une liste de pièces, chaque pièce contenant un ou plusieurs mobs, ou étant vide si aucun mob n'est disponible.
"""
rooms = []
for _ in range(num_rooms):
if len(mobs_in_level) > 0:
# Si des mobs sont disponibles, ajouter le premier mob à la pièce
new_room = []
for x in range(random.randint(1, len(mobs_in_level))):
new_room.append(mobs_in_level.pop(0))
rooms.append(new_room)
else:
# Ajouter une pièce vide si aucun mob n'est disponible
rooms.append(None)
return rooms