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