Browse Source

y'a plus d'erreur dans ce programme, parcontre dans File.py c'est pas la même

master^2
manon 2 weeks ago
parent
commit
0e34c5d2a4
  1. 77
      essaie.py

77
essaie.py

@ -5,6 +5,10 @@ from random import randint
from Pile import Pile_lst as Pile from Pile import Pile_lst as Pile
from File import File_lst as File 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: class Carte:
def __init__ (self,valeur, couleur): def __init__ (self,valeur, couleur):
@ -19,33 +23,21 @@ class Carte:
return f"{valeur_str} de {couleur_str}" return f"{valeur_str} de {couleur_str}"
def cartes_52 (self) : #créer les 52 cartes dans l'ordre 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] valeurs = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
couleur = [1,2,3,4] couleurs = [1, 2, 3, 4]
p52 = Pile() for couleur in couleurs:
x = 1 for valeur in valeurs:
y = 1 p52.empiler(Carte(valeur, couleur)) # Empiler chaque carte
while p52.taille() < 52 :
x = x + 1
p52.empiler (Carte (valeur [x],couleur [y]))
if x == 14 :
y = y + 1
x = 1
return p52 return p52
def cartes_32 (self) : #créer les 32 cartes dans l'ordre 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 valeurs = [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] couleurs = [1,2,3,4]
p32 = Pile() for couleur in couleurs:
x = 6 for valeur in valeurs:
y = 1 p32.empiler(Carte(valeur, couleur)) # Empiler chaque carte
while p32.taille() < 52 :
x = x + 1
p32.empiler (Carte (valeur [x],couleur [y]))
if x == 14 :
y = y + 1
x = 6
return p32 return p32
def compare (self,other): def compare (self,other):
@ -57,6 +49,8 @@ class Carte:
return 0 return 0
paquet_j1 = File ()
paquet_j2 = File ()
class Jeux : class Jeux :
def __init__ (self): 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 # essaie de mélange, j'ai tester avec un jeu de carte papier ça mélange vraiment
x = 3 x = 3
p = Piles () # pile pour aider à mélanger p = Pile () # pile pour aider à mélanger
f = Files () # file pour aider à mélanger f = File () # file pour aider à mélanger
if self.valeur_paquet == 32: if self.valeur_paquet == 32:
for i in range(32): for i in range(32):
for i in range (x) : for i in range (x) :
@ -73,7 +67,7 @@ class Jeux :
for i in range (x - 1) : for i in range (x - 1) :
f.enfiler(p.depiler) f.enfiler(p.depiler)
if p.taille() == 10 : if p.taille() == 10 :
for i in range (10) for i in range (10):
f.enfiler(p.depiler) f.enfiler(p.depiler)
while p.taille() != 0 : while p.taille() != 0 :
f.enfiler(p.depiler) f.enfiler(p.depiler)
@ -87,7 +81,7 @@ class Jeux :
for i in range (x - 1) : for i in range (x - 1) :
f.enfiler(p.depiler) f.enfiler(p.depiler)
if p.taille() == 10 : if p.taille() == 10 :
for i in range (10) for i in range (10):
f.enfiler(p.depiler) f.enfiler(p.depiler)
while p.taille() != 0 : while p.taille() != 0 :
f.enfiler(p.depiler) f.enfiler(p.depiler)
@ -95,8 +89,6 @@ class Jeux :
p52.empiler(f.defiler) p52.empiler(f.defiler)
def distribut (self): # distribut les cartes mélanger dans deux files, avec le même nombre de cartes 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 if self.valeur_paquet == 32: #faudra changer là aussi pour l'interface graphique
for i in range (16): for i in range (16):
paquet_j1.enfiler(p32.depiler) 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) 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 x = 3
p = Piles () # pile pour aider à mélanger p = Pile () # pile pour aider à mélanger
f = Files () # file pour aider à mélanger f = File () # file pour aider à mélanger
for i in range(y): for i in range(y):
for i in range (x) : for i in range (x) :
p.empiler(p_c.depiler) p.empiler(p_c.depiler)
@ -132,17 +124,17 @@ def on_joue ():
carte_j2 = paquet_j2.defiler() carte_j2 = paquet_j2.defiler()
#on perd #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_j1)
paquet_j2.enfiler(carte_j2) paquet_j2.enfiler(carte_j2)
#on gagne #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_j1)
paquet_j1.enfiler(carte_j2) paquet_j1.enfiler(carte_j2)
# égalité on fait la bataille # é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 p1 = Pile () # pile de bataille du joueur 1
p2 = Pile () # pile de bataille du joueur 2 p2 = Pile () # pile de bataille du joueur 2
p1.empiler(carte_j1) p1.empiler(carte_j1)
@ -153,24 +145,24 @@ def on_joue ():
carte_3b_j2 = paquet_j2.defiler() # troisième carte de la bataille carte_3b_j2 = paquet_j2.defiler() # troisième carte de la bataille
#on perd 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 while p2.taille() != 0 : # si p2 est vide, alors p1 aussi
paquet_j2.enfiler(p1.depiler()) paquet_j2.enfiler(p1.depiler())
paquet_j2.enfiler(p2.depiler()) paquet_j2.enfiler(p2.depiler())
#on gagne la bataille #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 while p2.taille() != 0 : # si p2 est vide, alors p1 aussi
paquet_j2.enfiler(p1.depiler()) paquet_j2.enfiler(p1.depiler())
paquet_j2.enfiler(p2.depiler()) paquet_j2.enfiler(p2.depiler())
#égalité a la bataille, on regarde la carte du milieu #é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_j1 = p1.depiler() #deuxième carte de la bataille
carte_2b_j2 = p2.depiler() # deuxième carte de la bataille carte_2b_j2 = p2.depiler() # deuxième carte de la bataille
#on perd 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(p1.depiler())
paquet_j2.enfiler(p2.depiler()) paquet_j2.enfiler(p2.depiler())
paquet_j2.enfiler(carte_2b_j1) paquet_j2.enfiler(carte_2b_j1)
@ -179,7 +171,7 @@ def on_joue ():
paquet_j2.enfiler(carte_3b_j2) paquet_j2.enfiler(carte_3b_j2)
#on gagne la bataille #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(p1.depiler())
paquet_j1.enfiler(p2.depiler()) paquet_j1.enfiler(p2.depiler())
paquet_j1.enfiler(carte_2b_j1) paquet_j1.enfiler(carte_2b_j1)
@ -188,10 +180,7 @@ def on_joue ():
paquet_j1.enfiler(carte_3b_j2) paquet_j1.enfiler(carte_3b_j2)
# égalité # é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") print("le jeu de carte doit ếtre mal mélanger, on va y remédier")
paquet_j1 = mélange(paquet_j1.taille(),paquet_j1) mélange(paquet_j1.taille(), paquet_j1)
paquet_j2 = mélange(paquet_j2.taille(),paquet_j2) mélange(paquet_j2.taille(), paquet_j2)
print(on_joue)
Loading…
Cancel
Save