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.
41 lines
1.2 KiB
41 lines
1.2 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 en forme de liste"""
|
|
couleurs = ["Coeur", "Carreau", "Trèfle", "Pique"]
|
|
valeurs = range(7, 15) if self.taille == 32 else 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)
|
|
|
|
def distribue (self) :
|
|
"""Une méthode distribue qui renvoie deux Files contenant la moitié des cartes du paquet chacune. """
|
|
m1 = File()
|
|
m2 = File()
|
|
while not self.paquet.est_vide():
|
|
if not self.paquet.est_vide() :
|
|
m2.enfiler(self.paquet.defiler())
|
|
return m1, m2
|
|
|
|
|
|
|
|
|
|
|