Browse Source

Classe Jeux

master
Elith 3 months ago
parent
commit
d2cd97e200
  1. 32
      Jeux.py

32
Jeux.py

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

Loading…
Cancel
Save