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.
64 lines
1.7 KiB
64 lines
1.7 KiB
from File import File_chaine as File
|
|
import random
|
|
|
|
class Carte:
|
|
"carte"
|
|
def __init__(self, valeur, couleur):
|
|
self.valeur = valeur
|
|
self.couleur = couleur
|
|
def compare(self, other):
|
|
if self.valeur > other.valeur :
|
|
return 1
|
|
elif self.valeur > other.valeur :
|
|
return -1
|
|
elif self.valeur == other.valeur :
|
|
return 0
|
|
def __repr__(self):
|
|
return str(self.valeur)
|
|
def __str__(self):
|
|
return str(self.valeur) + " de " + self.couleur
|
|
|
|
|
|
class Jeux:
|
|
def __init__(self):
|
|
valeurs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
|
|
couleurs = ["coeur", "pique", "carreau", "trefle"]
|
|
jeu = []
|
|
for coul in couleurs:
|
|
for val in valeurs:
|
|
jeu.append(Carte(val, coul))
|
|
random.shuffle(jeu)
|
|
self.paquet = jeu
|
|
def distribue(self):
|
|
jeu1, jeu2 = File(), File()
|
|
i = 0
|
|
for carte in self.paquet:
|
|
if i%2 == 0:
|
|
jeu1.enfiler(carte)
|
|
else:
|
|
jeu2.enfiler(carte)
|
|
i += 1
|
|
return jeu1, jeu2
|
|
|
|
def partie(jeu1, jeu2):
|
|
while not jeu1.est_vide() and not jeu2.est_vide():
|
|
c1 = jeu1.defiler()
|
|
c2 = jeu2.defiler()
|
|
resultat = c1.compare(c2)
|
|
while resulat == 0:
|
|
|
|
if resultat == 1:
|
|
jeu1.enfiler(c1)
|
|
jeu1.enfiler(c2)
|
|
elif resultat == -1 :
|
|
jeu2.enfiler(c1)
|
|
jeu2.enfiler(c2)
|
|
elif resultat == 0:
|
|
|
|
c1_1 = jeu1.defiler()
|
|
c2_1 = jeu2.defiler()
|
|
c1_2 = jeu1.defiler()
|
|
c2_2 = jeu2.defiler()
|
|
resultat = c1_2.compare()
|
|
|
|
|