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.
51 lines
1.4 KiB
51 lines
1.4 KiB
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
|
|
|
|
|
|
|
|
|
|
|
|
|