""" melange_file : il n'y a aucun intérêt à passer un attribut en argument à une méthode : elle y accède déjà ! L'énoncé ne précise pas le type de l'attribut paquet, inutile de s'embêter avec une file. Quel est l'intérêt du "toggle" dans la méthode distribuer ??? Ça sent très fort le "j'ai demandé à une IA, et j'ai rien compris alors j'ai recopié bêtement." """ import random from File import File_lst as File from Carte import Carte class Jeux: def __init__(self, taille): """Initialise la classe Jeux""" self.taille = taille self.paquet = self.init_paquet() self.melange_file(self.paquet) def init_paquet(self): """Crée un paquet de cartes et le retourne sous forme de File""" couleurs = ["Coeur", "Carreau", "Trèfle", "Pique"] valeurs = list(range(7, 15)) if self.taille == 32 else list(range(2, 15)) f = File() for c in couleurs: for v in valeurs: f.enfiler(Carte(v, c)) return f def melange_file(self, f): """Mélange la file f""" cartes = [] while not f.est_vide(): cartes.append(f.defiler()) random.shuffle(cartes) for c in cartes: f.enfiler(c) def distribue(self): """ Distribue les cartes en deux Files pour les joueurs. Renvoie : m1, m2 """ m1 = File() m2 = File() toggle = True while not self.paquet.est_vide(): if toggle: m1.enfiler(self.paquet.defiler()) else: m2.enfiler(self.paquet.defiler()) toggle = not toggle return m1, m2