From d631cdd47fed3b7b235da98f65356a79683ce8b7 Mon Sep 17 00:00:00 2001 From: "aboulin.a" Date: Wed, 14 Dec 2022 13:47:02 +0100 Subject: [PATCH] modif cartes --- main.py | 65 +++++++++++++++++++++++------------------- util/.bataille.py.swp | Bin 0 -> 1024 bytes util/bataille.py | 62 +++++++++++++++++++++++----------------- 3 files changed, 72 insertions(+), 55 deletions(-) create mode 100644 util/.bataille.py.swp diff --git a/main.py b/main.py index 95b3d49..bfaad25 100644 --- a/main.py +++ b/main.py @@ -1,38 +1,45 @@ -from util.bataille import * -from lib.Pile import Pile_lst - -def bataille(): - '''Fonction permettant de lancer le jeu''' - jeux = Jeux() - carte_j1, carte_j2 = jeux.depiler() - nom = str(input("Entrez votre nom")) +from util.bataille import Jeux, Joueur +from lib.Pile import Pile_lst as Pile + +if __name__ == "__main__": + jeux = Jeux(32) + carte_j1, carte_j2 = jeux.distribue() + + nom = str(input("Entrez votre nom: ")) j1 = Joueur(carte_j1, nom) j2 = Joueur(carte_j2, "Bot") - p_j1 = Pile_lst() - p_j2 = Pile_lst() - while not j1.paquet_j.est_vide() and not j2.paquet_j.est_vide():#tant que les joueurs ont des cartes on continue. - p_j1.empile(j1.tire_carte()) - p_j2.empile(j2.tire_carte()) - gagne = p_j1.sommet().compare(p_j2.sommet()) - #comparaison du gagnant du duels de cartes: - if gagne == 1: + print(str(j1.paquet)) + + + pile_j1 = Pile() + pile_j2 = Pile() + + #Tant que les joueurs ont des cartes on continue + while not j1.paquet.est_vide() and not j2.paquet.est_vide(): + pile_j1.empiler(j1.tire_carte()) + pile_j2.empiler(j2.tire_carte()) + + #Comparaison du gagnant du duels de cartes + gagne = pile_j1.sommet().compare(pile_j2.sommet()) + #si la valeur de self est supérieure à la valeur de other. - j1.paquet_j.append(p_j2.depiler()) - - elif gagne == 2: + if gagne == 1: + j1.paquet.enfiler(pile_j2.depiler()) + #si la valeur de other est supérieure à la valeur de self. - j2.paquet_j.append(p_j1.depiler()) - - else: + elif gagne == 2: + j2.paquet.enfiler(pile_j1.depiler()) + #si les deux valeurs sont les mêmes, bataille ! + else: for loop in range(2): - p_j1.empile(j1.tire_carte()) - p_j2.empile(j2.tire_carte()) - - if j1.paquet_j.est_vide() and j2.paquet_j.est_vide(): - print("parti nul") - elif j1.paquet_j.est_vide(): + pile_j1.empiler(j1.tire_carte()) + pile_j2.empiler(j2.tire_carte()) + + if j1.paquet.est_vide() and j2.paquet.est_vide(): + print("Partie nulle") + elif j1.paquet.est_vide(): print("Le perdant est le joueur 1") else: print("Le perdant est le joueur 2") - + diff --git a/util/.bataille.py.swp b/util/.bataille.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..34ea95997c94b4e1ce4d8b71d8504ae60bf6ebf5 GIT binary patch literal 1024 zcmYc?$V<%2S1{7E)H7y40_+(K42enkr8${-dWlHl*qDxnhPnX;DB7_pW6;mY&rQ`& z)Q6j^?~ other: + if self.valeur > other.valeur: return 1 - elif self.valeur < other: + elif self.valeur < other.valeur: return -1 else: return 0 - - + + class Jeux: def __init__(self, nbcartes): self.paquet = File() self.couleur = File() - #Cartes 1 à 10 et 11 pour Valet, 12 pour Dame et 13 pour Roi et 14 pour As if nbcartes == 32: - for i in range(4): - crt = [7, 8, 9, 10, 11, 12, 13, 14] - couleur = [0, 1, 2, 3] - for val in range(len(crt)): - rd = randint(0, len(crt)-1) - self.paquet.enfiler(crt[rd]) - self.couleur.enfiler(couleur[i]) - crt.pop(rd) + for couleur in [Carte.CARREAU, Carte.COEUR, Carte.PIQUE, Carte.TREFLE]: + valeurs = [7, 8, 9, 10, Carte.VALET, Carte.DAME, Carte.ROI, Carte.AS] + for i in range(8): + rand = randint(0, len(valeurs)-1) + carte = Carte(valeurs.pop(rand), couleur) + self.paquet.enfiler(carte) + #self.couleur.enfiler(couleur) + #valeurs.pop(rand) else: - pq = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] - - + pq = [2, 3, 4, 5, 6, 7, 8, 9, 10, Carte.VALET, Carte.DAME, Carte.ROI, Carte.AS] + + def distribue(self): cp = self.paquet f1 = File() @@ -48,13 +57,14 @@ class Jeux: f1.enfiler(cp.defiler()) f2.enfiler(cp.defiler()) return f1, f2 - - + + class Joueur: - def __init__(self, paquet_j, nom): - self.paquet_j = paquet_j + def __init__(self, paquet, nom): + self.paquet = paquet self.nom = nom - + self.derniere_carte = None + def tire_carte(self): - self.derniere_carte = self.paquet_j.defiler() + self.derniere_carte = self.paquet.defiler() return self.derniere_carte