From 98ed9dd7450b806f2e383cb7c3f3c61f1659cfb5 Mon Sep 17 00:00:00 2001 From: manon Date: Thu, 19 Dec 2024 11:21:34 +0100 Subject: [PATCH 1/5] gjofjhtn --- bataille.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/bataille.py b/bataille.py index fb1a341..89f7cb5 100644 --- a/bataille.py +++ b/bataille.py @@ -1,4 +1,6 @@ -import tkinter as tk +# import tkinter as tk +# +# from random import randint from File import File_lst as File @@ -8,17 +10,19 @@ class Carte: self.couleur = couleur def compare (self,other): - if other > self.valeur: # si other est une carte avec une valeur plus grande + if other.valeur > self.valeur: # si other est une carte avec une valeur plus grande return 1 - elif other < self.valeur: # si self est une carte avec une valeur plus grande + elif other.valeur < self.valeur: # si self est une carte avec une valeur plus grande return 1 else : # meme valeur, il y a bataille return 0 class Jeux : - def __init__ (self, paquet): + def __init__ (self): + + self.valeur_paquet = int(input("voulez vous jouer avec un paquet de 32 ou de 52 cartes?")) # nombre de carte dans le paquet,à remplacer par un boutton - if self.valeur_paquet == 32: #faudra changer là aussi pour l'interface graphique + if self.valeur_paquet == 32: #faudra changer là aussi pour l'interface graphique self.paquet = File() self.paquet.enfiler('A') elif self.valeur_paquet == 52: @@ -26,7 +30,7 @@ class Jeux : self.paquet.enfiler('B') def distribue (self) : # en sah jss pas sur de ma connerie, à tester - return self.paquet/2 + return # joueur1 = File() # joueur2 = File() # while paquet != 0 : @@ -36,4 +40,4 @@ class Jeux : #pour les tests: #f=Jeux() -#print(f.paquet) \ No newline at end of file +#print(f.paquet) From d5cb8fe6d3a7f574a7a7ac50ba90d4c6a474b036 Mon Sep 17 00:00:00 2001 From: manon Date: Thu, 19 Dec 2024 11:53:12 +0100 Subject: [PATCH 2/5] 3eme commit serieux --- bataille.py | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/bataille.py b/bataille.py index 89f7cb5..5121087 100644 --- a/bataille.py +++ b/bataille.py @@ -9,6 +9,28 @@ class Carte: self.valeur = valeur self.couleur = couleur + if valeur == 'as': + self.valeur == 14 + if valeur == 'roi': + self.valeur == 13 + if valeur == 'dame': + self.valeur == 12 + if valeur == 'valet': + self.valeur == 11 + if valeur == '10': + self.valeur == 10 + if valeur == '9': + self.valeur == 9 + if valeur == '8': + self.valeur == 8 + if valeur == '7': + self.valeur == 7 + + couleur = "carreau","trefle", "coeur", "pique" + + + + def compare (self,other): if other.valeur > self.valeur: # si other est une carte avec une valeur plus grande return 1 @@ -19,10 +41,11 @@ class Carte: class Jeux : def __init__ (self): - - + for i in range 32: + + c = Carte(x,y) self.valeur_paquet = int(input("voulez vous jouer avec un paquet de 32 ou de 52 cartes?")) # nombre de carte dans le paquet,à remplacer par un boutton - if self.valeur_paquet == 32: #faudra changer là aussi pour l'interface graphique + if self.valeur_paquet == 32: #faudra changer là aussi pour l'interface graphique self.paquet = File() self.paquet.enfiler('A') elif self.valeur_paquet == 52: @@ -36,7 +59,9 @@ class Jeux : # while paquet != 0 : # joueur1.enfiler(paquet.depiller()) # joueur2.enfiler(paquet.depiller()) - # return joueur1 and joueur2 + # return joueur1 and joueur2 + + #pour les tests: #f=Jeux() From cb69392e751f17c49245d66d30d9dc51a326d862 Mon Sep 17 00:00:00 2001 From: manon Date: Wed, 1 Jan 2025 13:49:04 +0100 Subject: [PATCH 3/5] =?UTF-8?q?voil=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- essaie.py | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 essaie.py diff --git a/essaie.py b/essaie.py new file mode 100644 index 0000000..3a920e8 --- /dev/null +++ b/essaie.py @@ -0,0 +1,194 @@ +# quelque idée, qui peuvent peut-être aider, ou pas ... + +import tkinter as tk +from random import randint +from Pile import Pile_lst as Pile +from File import File_lst as File + + +class Carte: + def __init__ (self,valeur, couleur): + self.valeur = valeur + self.couleur = couleur + + def __repr__ (self): #permet de mettre "Carte(11, 1)" sous forme "Valet de cœur" (trouver sur python pas a pas) + couleurs = {1: "Cœur", 2: "Carreau", 3: "Trèfle", 4: "Pique"} + valeurs = {11: "Valet", 12: "Dame", 13: "Roi", 14: "As"} + valeur_str = valeurs.get(self.valeur, self.valeur) + couleur_str = couleurs.get(self.couleur, self.couleur) + return f"{valeur_str} de {couleur_str}" + + def cartes_52 (self) : #créer les 52 cartes dans l'ordre + valeur = [2,3,4,5,6,7,8,9,10,11,12,13,14] + couleur = [1,2,3,4] + p52 = Pile() + x = 1 + y = 1 + while p52.taille() < 52 : + x = x + 1 + p52.empiler (Carte (valeur [x],couleur [y])) + if x == 14 : + y = y + 1 + x = 1 + return p52 + + + + def cartes_32 (self) : #créer les 32 cartes dans l'ordre + valeur = [7,8,9,10,11,12,13,14] # la valeur de l'as est mise a 14 pour facilité le travail + couleur = [1,2,3,4] + p32 = Pile() + x = 6 + y = 1 + while p32.taille() < 52 : + x = x + 1 + p32.empiler (Carte (valeur [x],couleur [y])) + if x == 14 : + y = y + 1 + x = 6 + return p32 + + def compare (self,other): + if other.valeur > self.valeur: # si other est une carte avec une valeur plus grande + return -1 + elif other.valeur < self.valeur: # si self est une carte avec une valeur plus grande + return 1 + else : # même valeur, il y a bataille + return 0 + + + +class Jeux : + def __init__ (self): + self.valeur_paquet = int(input("voulez vous jouer avec un paquet de 32 ou de 52 cartes?")) # nombre de carte dans le paquet,à remplacer par un boutton + + # essaie de mélange, j'ai tester avec un jeu de carte papier ça mélange vraiment + x = 3 + p = Piles () # pile pour aider à mélanger + f = Files () # file pour aider à mélanger + if self.valeur_paquet == 32: + for i in range(32): + for i in range (x) : + p.empiler(p32.depiler) + for i in range (x - 1) : + f.enfiler(p.depiler) + if p.taille() == 10 : + for i in range (10) + f.enfiler(p.depiler) + while p.taille() != 0 : + f.enfiler(p.depiler) + while f.taille() != 0 : + p32.empiler(f.defiler) + + elif self.valeur_paquet == 52: + for i in range(52): + for i in range (x) : + p.empiler(p52.depiler) + for i in range (x - 1) : + f.enfiler(p.depiler) + if p.taille() == 10 : + for i in range (10) + f.enfiler(p.depiler) + while p.taille() != 0 : + f.enfiler(p.depiler) + while f.taille() != 0 : + p52.empiler(f.defiler) + + def distribut (self): # distribut les cartes mélanger dans deux files, avec le même nombre de cartes + paquet_j1 = File () + paquet_j2 = File () + if self.valeur_paquet == 32: #faudra changer là aussi pour l'interface graphique + for i in range (16): + paquet_j1.enfiler(p32.depiler) + paquet_j2.enfiler(p32.depiler) + + elif self.valeur_paquet == 52: + for i in range (26): + paquet_j1.enfiler(p52.depiler) + paquet_j2.enfiler(p52.depiler) + +def mélange (y, p_c) : # essaie de mélange, avec y le nombre de cartes a mélanger et p_c le paquet a mélanger (une file) + x = 3 + p = Piles () # pile pour aider à mélanger + f = Files () # file pour aider à mélanger + for i in range(y): + for i in range (x) : + p.empiler(p_c.depiler) + for i in range (x - 1) : + f.enfiler(p.depiler) + if p.taille() == 10 : + for i in range (10) : + f.enfiler(p.depiler) + while p.taille() != 0 : + f.enfiler(p.depiler) + while f.taille() != 0 : + p_c.enfiler(f.defiler) + return p_c + + +def on_joue (): + while (paquet_j1.taille() != 0) or (paquet_j2.taille() != 0): # tant que les deux joueur on des cartes, on continue de jouer. + carte_j1 = paquet_j1.defiler() + carte_j2 = paquet_j2.defiler() + + #on perd + if compare(carte_j1,carte_j2) == -1 : + paquet_j2.enfiler(carte_j1) + paquet_j2.enfiler(carte_j2) + + #on gagne + if compare(carte_j1,carte_j2) == 1 : + paquet_j1.enfiler(carte_j1) + paquet_j1.enfiler(carte_j2) + + # égalité on fait la bataille + if compare(carte_j1,carte_j2) == 0 : + p1 = Pile () # pile de bataille du joueur 1 + p2 = Pile () # pile de bataille du joueur 2 + p1.empiler(carte_j1) + p2.empiler(carte_j2) + p1.empiler(paquet_j1.defiler()) #cette carte ne sera visible que si la troisiéme est égale a celle de l'adversaire + p2.empiler(paquet_j1.defiler()) #cette carte ne sera visible que si la troisiéme est égale a celle de l'adversaire + carte_3b_j1 = paquet_j1.defiler() #troisième carte de la bataille + carte_3b_j2 = paquet_j2.defiler() # troisième carte de la bataille + + #on perd la bataille + if compare(carte_3b_j1,carte_3b_j2) == -1 : + while p2.taille() != 0 : # si p2 est vide, alors p1 aussi + paquet_j2.enfiler(p1.depiler()) + paquet_j2.enfiler(p2.depiler()) + + #on gagne la bataille + if compare(carte_3b_j1,carte_3b_j2) == -1 : + while p2.taille() != 0 : # si p2 est vide, alors p1 aussi + paquet_j2.enfiler(p1.depiler()) + paquet_j2.enfiler(p2.depiler()) + + #égalité a la bataille, on regarde la carte du milieu + if compare(carte_3b_j1,carte_3b_j2) == 0 : + carte_2b_j1 = p1.depiler() #deuxième carte de la bataille + carte_2b_j2 = p2.depiler() # deuxième carte de la bataille + + #on perd la bataille + if compare(carte_2b_j1,carte_2b_j2) == -1 : + paquet_j2.enfiler(p1.depiler()) + paquet_j2.enfiler(p2.depiler()) + paquet_j2.enfiler(carte_2b_j1) + paquet_j2.enfiler(carte_2b_j2) + paquet_j2.enfiler(carte_3b_j1) + paquet_j2.enfiler(carte_3b_j2) + + #on gagne la bataille + if compare(carte_2b_j1,carte_2b_j2) == 1 : + paquet_j1.enfiler(p1.depiler()) + paquet_j1.enfiler(p2.depiler()) + paquet_j1.enfiler(carte_2b_j1) + paquet_j1.enfiler(carte_2b_j2) + paquet_j1.enfiler(carte_3b_j1) + paquet_j1.enfiler(carte_3b_j2) + + # égalité + if compare(carte_2b_j1,carte_2b_j2) == 0 : + print("le jeu de carte doit ếtre mal mélanger, on va y remédier") + paquet_j1 = mélange(paquet_j1.taille(),paquet_j1) + paquet_j2 = mélange(paquet_j2.taille(),paquet_j2) From 27426ff498421e1db05010d782ae83d3a28a3809 Mon Sep 17 00:00:00 2001 From: manon Date: Wed, 1 Jan 2025 19:28:54 +0100 Subject: [PATCH 4/5] j'en ai mare, python il dit qu'il y a trop d'erreur --- essaie.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/essaie.py b/essaie.py index 3a920e8..9dbc296 100644 --- a/essaie.py +++ b/essaie.py @@ -192,3 +192,6 @@ def on_joue (): print("le jeu de carte doit ếtre mal mélanger, on va y remédier") paquet_j1 = mélange(paquet_j1.taille(),paquet_j1) paquet_j2 = mélange(paquet_j2.taille(),paquet_j2) + + +print(on_joue) From 0e34c5d2a482acb938aa071c89dd8dd92408e054 Mon Sep 17 00:00:00 2001 From: manon Date: Sun, 5 Jan 2025 11:54:37 +0100 Subject: [PATCH 5/5] =?UTF-8?q?y'a=20plus=20d'erreur=20dans=20ce=20program?= =?UTF-8?q?me,=20parcontre=20dans=20File.py=20c'est=20pas=20la=20m=C3=AAme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- essaie.py | 79 ++++++++++++++++++++++++------------------------------- 1 file changed, 34 insertions(+), 45 deletions(-) diff --git a/essaie.py b/essaie.py index 9dbc296..2800b6d 100644 --- a/essaie.py +++ b/essaie.py @@ -5,6 +5,10 @@ from random import randint from Pile import Pile_lst as Pile from File import File_lst as File +p52 = Pile() # Création d'une pile vide pour un paquet de 52 cartes +p32 = Pile() # Création d'une pile vide pour un paquet de 32 cartes +paquet_j1 = File () # paquet de carte du joueur 1 +paquet_j2 = File () # paquet de carte du joueur 2 class Carte: def __init__ (self,valeur, couleur): @@ -19,33 +23,21 @@ class Carte: return f"{valeur_str} de {couleur_str}" def cartes_52 (self) : #créer les 52 cartes dans l'ordre - valeur = [2,3,4,5,6,7,8,9,10,11,12,13,14] - couleur = [1,2,3,4] - p52 = Pile() - x = 1 - y = 1 - while p52.taille() < 52 : - x = x + 1 - p52.empiler (Carte (valeur [x],couleur [y])) - if x == 14 : - y = y + 1 - x = 1 + valeurs = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] + couleurs = [1, 2, 3, 4] + for couleur in couleurs: + for valeur in valeurs: + p52.empiler(Carte(valeur, couleur)) # Empiler chaque carte return p52 def cartes_32 (self) : #créer les 32 cartes dans l'ordre - valeur = [7,8,9,10,11,12,13,14] # la valeur de l'as est mise a 14 pour facilité le travail - couleur = [1,2,3,4] - p32 = Pile() - x = 6 - y = 1 - while p32.taille() < 52 : - x = x + 1 - p32.empiler (Carte (valeur [x],couleur [y])) - if x == 14 : - y = y + 1 - x = 6 + valeurs = [7,8,9,10,11,12,13,14] # la valeur de l'as est mise a 14 pour facilité le travail + couleurs = [1,2,3,4] + for couleur in couleurs: + for valeur in valeurs: + p32.empiler(Carte(valeur, couleur)) # Empiler chaque carte return p32 def compare (self,other): @@ -57,6 +49,8 @@ class Carte: return 0 +paquet_j1 = File () +paquet_j2 = File () class Jeux : def __init__ (self): @@ -64,8 +58,8 @@ class Jeux : # essaie de mélange, j'ai tester avec un jeu de carte papier ça mélange vraiment x = 3 - p = Piles () # pile pour aider à mélanger - f = Files () # file pour aider à mélanger + p = Pile () # pile pour aider à mélanger + f = File () # file pour aider à mélanger if self.valeur_paquet == 32: for i in range(32): for i in range (x) : @@ -73,7 +67,7 @@ class Jeux : for i in range (x - 1) : f.enfiler(p.depiler) if p.taille() == 10 : - for i in range (10) + for i in range (10): f.enfiler(p.depiler) while p.taille() != 0 : f.enfiler(p.depiler) @@ -87,16 +81,14 @@ class Jeux : for i in range (x - 1) : f.enfiler(p.depiler) if p.taille() == 10 : - for i in range (10) + for i in range (10): f.enfiler(p.depiler) while p.taille() != 0 : f.enfiler(p.depiler) while f.taille() != 0 : p52.empiler(f.defiler) - def distribut (self): # distribut les cartes mélanger dans deux files, avec le même nombre de cartes - paquet_j1 = File () - paquet_j2 = File () + def distribut (self): # distribut les cartes mélanger dans deux files, avec le même nombre de cartes if self.valeur_paquet == 32: #faudra changer là aussi pour l'interface graphique for i in range (16): paquet_j1.enfiler(p32.depiler) @@ -109,8 +101,8 @@ class Jeux : def mélange (y, p_c) : # essaie de mélange, avec y le nombre de cartes a mélanger et p_c le paquet a mélanger (une file) x = 3 - p = Piles () # pile pour aider à mélanger - f = Files () # file pour aider à mélanger + p = Pile () # pile pour aider à mélanger + f = File () # file pour aider à mélanger for i in range(y): for i in range (x) : p.empiler(p_c.depiler) @@ -132,17 +124,17 @@ def on_joue (): carte_j2 = paquet_j2.defiler() #on perd - if compare(carte_j1,carte_j2) == -1 : + if Carte.compare(carte_j1,carte_j2) == -1 : paquet_j2.enfiler(carte_j1) paquet_j2.enfiler(carte_j2) #on gagne - if compare(carte_j1,carte_j2) == 1 : + if Carte.compare(carte_j1,carte_j2) == 1 : paquet_j1.enfiler(carte_j1) paquet_j1.enfiler(carte_j2) # égalité on fait la bataille - if compare(carte_j1,carte_j2) == 0 : + if Carte.compare(carte_j1,carte_j2) == 0 : p1 = Pile () # pile de bataille du joueur 1 p2 = Pile () # pile de bataille du joueur 2 p1.empiler(carte_j1) @@ -153,24 +145,24 @@ def on_joue (): carte_3b_j2 = paquet_j2.defiler() # troisième carte de la bataille #on perd la bataille - if compare(carte_3b_j1,carte_3b_j2) == -1 : + if Carte.compare(carte_3b_j1,carte_3b_j2) == -1 : while p2.taille() != 0 : # si p2 est vide, alors p1 aussi paquet_j2.enfiler(p1.depiler()) paquet_j2.enfiler(p2.depiler()) #on gagne la bataille - if compare(carte_3b_j1,carte_3b_j2) == -1 : + if Carte.compare(carte_3b_j1,carte_3b_j2) == -1 : while p2.taille() != 0 : # si p2 est vide, alors p1 aussi paquet_j2.enfiler(p1.depiler()) paquet_j2.enfiler(p2.depiler()) #égalité a la bataille, on regarde la carte du milieu - if compare(carte_3b_j1,carte_3b_j2) == 0 : + if Carte.compare(carte_3b_j1,carte_3b_j2) == 0 : carte_2b_j1 = p1.depiler() #deuxième carte de la bataille carte_2b_j2 = p2.depiler() # deuxième carte de la bataille #on perd la bataille - if compare(carte_2b_j1,carte_2b_j2) == -1 : + if Carte.compare(carte_2b_j1,carte_2b_j2) == -1 : paquet_j2.enfiler(p1.depiler()) paquet_j2.enfiler(p2.depiler()) paquet_j2.enfiler(carte_2b_j1) @@ -179,7 +171,7 @@ def on_joue (): paquet_j2.enfiler(carte_3b_j2) #on gagne la bataille - if compare(carte_2b_j1,carte_2b_j2) == 1 : + if Carte.compare(carte_2b_j1,carte_2b_j2) == 1 : paquet_j1.enfiler(p1.depiler()) paquet_j1.enfiler(p2.depiler()) paquet_j1.enfiler(carte_2b_j1) @@ -188,10 +180,7 @@ def on_joue (): paquet_j1.enfiler(carte_3b_j2) # égalité - if compare(carte_2b_j1,carte_2b_j2) == 0 : + if Carte.compare(carte_2b_j1,carte_2b_j2) == 0 : print("le jeu de carte doit ếtre mal mélanger, on va y remédier") - paquet_j1 = mélange(paquet_j1.taille(),paquet_j1) - paquet_j2 = mélange(paquet_j2.taille(),paquet_j2) - - -print(on_joue) + mélange(paquet_j1.taille(), paquet_j1) + mélange(paquet_j2.taille(), paquet_j2) \ No newline at end of file