from File import File_chaine as File import random from time import sleep #creation de la classe Carte qui ermet de comparer deux cartes entres elles 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): if self.valeur == 11: return "V" + self.couleur if self.valeur == 12: return "D" + self.couleur if self.valeur == 13: return "R" + self.couleur return str(self.valeur) + self.couleur #creation de la classe jeu qui permet de créer un jeu de cartes de le melanger et de le distribuer class Jeux: def __init__(self, nbmax=52): i = 0 valeurs = [1, 7, 8, 9, 10, 11, 12, 13, 2, 3, 4, 5, 6] couleurs = ["♥", "♠", "♦", "♣️"] jeu = [] for val in valeurs: if i >= nbmax: break for coul in couleurs: jeu.append(Carte(val, coul)) i += 1 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() gain = File() gain.enfiler(c1) gain.enfiler(c2) resultat = c1.compare(c2) elif resultat == 0 : while jeu1.taille()>=2 and jeu2.taille()>=2 and resulat == 0: gain.enfiler(jeu1.defiler()) gain.enfiler(jeu2.defiler()) c1 = jeu1.defiler() c2 = jeu2.defiler() gain.enfiler(c1) gain.enfiler(c2) resultat = c1.compare(c2) if jeu1 if resultat == 1: while not gain.est_vide(): jeu1.enfiler(gain.defiler()) elif resultat == -1 : while not gain.est_vide(): jeu2.enfiler(gain.defiler()) """ """class partie_TeSt: def __init__(self, nb_carte = 52): jeux = Jeux(nb_carte) self.j1, self.j2 = jeux.distribue() self.Round = 1 self.Gain = File() def play_round(): self.Round += 1 c1, c2 = self.j1.defiler(), self.j2.defiler() self.Gain.enfiler(c1) self.Gain.enfiler(c2) resultat = c1.compare(c2) while resultat == 0 and self.j1.taille() >= 2 and self.j2.taille() >= 2: if random.randint(1, 2) == 1: self.Gain.enfiler(self.j1.defiler()) self.Gain.enfiler(self.j2.defiler()) else: self.Gain.enfiler(self.j2.defiler()) self.Gain.enfiler(self.j1.defiler()) c1, c2 = self.j1.defiler(), self.j2.defiler() self.Gain.enfiler(c1) self.Gain.enfiler(c2) resultat = c1.compare(c2) if resultat == 1: while not self.Gain.est_vide(): self.j1.enfiler(self.Gain.defiler()) elif resultat == -1: while not self.Gain.est_vide(): self.j2.enfiler(self.Gain.defiler()) while not (j1.est_vide() or j2.est_vide() or winner == "égalité"): print(Round) Round += 1 c1 = j1.defiler() c2 = j2.defiler() gain = File() gain.enfiler(c1) gain.enfiler(c2) resultat = c1.compare(c2) while resultat == 0 and j1.taille() >= 2 and j2.taille() >= 2: if random.randint(1, 2) == 1: gain.enfiler(j1.defiler()) gain.enfiler(j2.defiler()) else: gain.enfiler(j2.defiler()) gain.enfiler(j1.defiler()) c1 = j1.defiler() c2 = j2.defiler() if random.randint(1, 2) == 1: gain.enfiler(c2) gain.enfiler(c1) else: gain.enfiler(c1) gain.enfiler(c2) resultat = c1.compare(c2) if resultat == 1: winner = "c'est j1 qui a gagné" while not gain.est_vide(): j1.enfiler(gain.defiler()) elif resultat == -1: winner = "c'est j2 qui a gagné" while not gain.est_vide(): j2.enfiler(gain.defiler()) else: if j1.taille() < 2 and not j2.taille() < 2: winner = "c'est j2 qui a gagné" elif not j1.taille() < 2 and j2.taille() < 2: winner = "c'est j2 qui a gagné" else: winner = "égalité" break print(j1, j2) return winner""" if __name__ == "__main__": jeu = Jeux() j1, j2 = jeu.distribue() #print(partie_TeSt(j1, j2)) print(j1, j2)