|
|
@ -2,38 +2,48 @@ import random |
|
|
from File import File_lst as File |
|
|
from File import File_lst as File |
|
|
from Carte import Carte |
|
|
from Carte import Carte |
|
|
|
|
|
|
|
|
class Jeux : |
|
|
class Jeux: |
|
|
def __init__ (self, taille): |
|
|
def __init__(self, taille): |
|
|
"""Initialise la classe Jeux""" |
|
|
"""Initialise la classe Jeux""" |
|
|
self.taille = taille |
|
|
self.taille = taille |
|
|
self.paquet = self.init_paquet() |
|
|
self.paquet = self.init_paquet() |
|
|
self.melange_file(self.paquet) |
|
|
self.melange_file(self.paquet) |
|
|
|
|
|
|
|
|
def init_paquet (self) : |
|
|
def init_paquet(self): |
|
|
"""Crée un paquet de cartes et le retourne en forme de liste""" |
|
|
"""Crée un paquet de cartes et le retourne sous forme de File""" |
|
|
couleurs = ["Coeur", "Carreau", "Trèfle", "Pique"] |
|
|
couleurs = ["Coeur", "Carreau", "Trèfle", "Pique"] |
|
|
valeurs = range(7, 15) if self.taille == 32 else range(2, 15) |
|
|
valeurs = list(range(7, 15)) if self.taille == 32 else list(range(2, 15)) |
|
|
f = File() |
|
|
f = File() |
|
|
for c in couleurs: |
|
|
for c in couleurs: |
|
|
for v in valeurs: |
|
|
for v in valeurs: |
|
|
f.enfiler(Carte(v, c)) |
|
|
f.enfiler(Carte(v, c)) |
|
|
return f |
|
|
return f |
|
|
|
|
|
|
|
|
def melange_file(self, f) : |
|
|
def melange_file(self, f): |
|
|
"""Mélange la file F""" |
|
|
"""Mélange la file f""" |
|
|
cartes = [] |
|
|
cartes = [] |
|
|
while not f.est_vide() : |
|
|
while not f.est_vide(): |
|
|
cartes.append(f.defiler()) |
|
|
cartes.append(f.defiler()) |
|
|
random.shuffle(cartes) |
|
|
random.shuffle(cartes) |
|
|
|
|
|
for c in cartes: |
|
|
|
|
|
f.enfiler(c) |
|
|
|
|
|
|
|
|
def distribue (self) : |
|
|
def distribue(self): |
|
|
"""Une méthode distribue qui renvoie deux Files contenant la moitié des cartes du paquet chacune. """ |
|
|
""" |
|
|
|
|
|
Distribue les cartes en deux Files pour les joueurs. |
|
|
|
|
|
Renvoie : m1, m2 |
|
|
|
|
|
""" |
|
|
m1 = File() |
|
|
m1 = File() |
|
|
m2 = File() |
|
|
m2 = File() |
|
|
|
|
|
toggle = True |
|
|
while not self.paquet.est_vide(): |
|
|
while not self.paquet.est_vide(): |
|
|
if not self.paquet.est_vide() : |
|
|
if toggle: |
|
|
|
|
|
m1.enfiler(self.paquet.defiler()) |
|
|
|
|
|
else: |
|
|
m2.enfiler(self.paquet.defiler()) |
|
|
m2.enfiler(self.paquet.defiler()) |
|
|
|
|
|
toggle = not toggle |
|
|
return m1, m2 |
|
|
return m1, m2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|