#La classe Jeux qui sera, comme son nom l'indique, au coeur du jeu
classJeux:
def__init__(self,nb_cartes=52):
valeurs=range(1,15)
couleurs=['Coeur','Carreau','Trèfle','Pique']
self.paquet=[Carte(val,couleur)forvalinvaleursforcouleurincouleurs][:nb_cartes]#Pour créer le paquet de carte on associe chaque valeur de 1 à 15 à chaque couleurs pour avoir toutes les combinaisons possibles
random.shuffle(self.paquet)#La "méthode" shuffle sert à mélanger par exemple on peut mélanger l'lordre d'une liste grâce à ça
self.tours=0
defdistribue(self):
#la méthode distribue permet, et bien, de distribuer les cartes, oui
label_resultat.config(text=f"Fin du jeu ! {gagnant} a gagné !")#le tkinter.config sert à "Modifier la valeur des attributs spécifiés d'un controle." d'après le site "Mon Python pas à pas"
label_tours.config(text=f"Tour final : {self.tours}")
nbcartes_j1.config(text=f"Nombre de cartes : {f1.taille()}")
nbcartes_j2.config(text=f"Nombre de cartes : {f2.taille()}")
carte1,carte2=f1.defiler(),f2.defiler()
#On fait défilier les cartes une à une de chaque joueurs
texte_j1.config(text=f"Le joueur 1 a obtenu : {carte1}")
texte_j2.config(text=f"Le joueur 2 a obtenu : {carte2}")
ifcarte1.compare(carte2)==0:
#C'est là ou se fait le test pour savoir qui remporte la manche
label_resultat.config(text="Egalité !")#Malheureusement on n'a pas réussi à faire le cas d'égalité ou les joueurs doivent mettre leurs cartes à l'envers etc..
f1.enfiler(carte1)
f2.enfiler(carte2)
elifcarte1.compare(carte2)==1:
f1.enfiler(carte1)
f1.enfiler(carte2)
label_resultat.config(text="Le joueur 1 remporte cette manche !")
elifcarte1.compare(carte2)==-1:
f2.enfiler(carte1)
f2.enfiler(carte2)
label_resultat.config(text="Le joueur 2 remporte cette manche !")
texte_j1=Label(j1,text="Le joueur 1 a obtenu :")#texte_j1 correspond au texte qui s'affiche dans le tkinter qui annonce quelle carte a obtenu le joueur 1
texte_j1.pack()
nbcartes_j1=Label(j1,text="Nombre de cartes :")#nbcartes_j1 correspond au texte qui s'affiche dans le tkinter qui montre le nombre de cartes restantes du joueur 1
nbcartes_j1.pack()
bouton=Button(fenetre,text="Jouez !",command=lambda:jeu.jeu(texte_j1,texte_j2,label_resultat,nbcartes_j1,nbcartes_j2,label_tours))#Le bouton qui permet de déclencher un nouveau tour
bouton.pack()
label_resultat=Label(fenetre,text="Cliquez sur 'Jouez!' pour commencer")