You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.7 KiB

"""
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