diff --git a/.gitignore b/.gitingore similarity index 60% rename from .gitignore rename to .gitingore index a07fd7c..fffc64d 100644 --- a/.gitignore +++ b/.gitingore @@ -1,2 +1,2 @@ __pycache__ -test.py +*.swp diff --git a/main.py b/main.py index bfaad25..5f32bdc 100644 --- a/main.py +++ b/main.py @@ -10,31 +10,36 @@ if __name__ == "__main__": j2 = Joueur(carte_j2, "Bot") print(str(j1.paquet)) - pile_j1 = Pile() pile_j2 = Pile() #Tant que les joueurs ont des cartes on continue + #TODO: vérifier avant empilage pour cas où égalité alors que l'un n'a plus de cartes 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()) - + print(gagne) #si la valeur de self est supérieure à la valeur de other. + #TODO: Simplifier 1 et -1 par boucle qui vide les deux piles dans le gagnant if gagne == 1: - j1.paquet.enfiler(pile_j2.depiler()) + #j1.paquet.enfiler(pile_j1.depiler()) + #j1.paquet.enfiler(pile_j2.depiler()) #si la valeur de other est supérieure à la valeur de self. - elif gagne == 2: - j2.paquet.enfiler(pile_j1.depiler()) + elif gagne == -1: + #j2.paquet.enfiler(pile_j2.depiler()) + #j2.paquet.enfiler(pile_j1.depiler()) #si les deux valeurs sont les mêmes, bataille ! else: - for loop in range(2): - pile_j1.empiler(j1.tire_carte()) - pile_j2.empiler(j2.tire_carte()) + pile_j1.empiler(j1.tire_carte()) + pile_j2.empiler(j2.tire_carte()) + #for loop in range(2): + # 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") diff --git a/test.py b/test.py new file mode 100644 index 0000000..0791618 --- /dev/null +++ b/test.py @@ -0,0 +1,16 @@ +from util.bataille import Joueur, Carte +from util.window import * +from lib.File import File_lst as File + +if __name__ == "__main__": + #card_to_image(Carte(1, 1)) + #card_to_image(Carte(4, 2)) + #card_to_image(Carte(13, 0)) + f1 = File() + f2 = File() + f1.enfiler(Carte(2,0)) + f2.enfiler(Carte(3,3)) + app = Window(Joueur(f1, "A"), Joueur(f2, "B")) + app.p1.tire_carte() + app.p2.tire_carte() + app.mainloop() diff --git a/util/.window.py.swp b/util/.window.py.swp deleted file mode 100644 index 42d3e3a..0000000 Binary files a/util/.window.py.swp and /dev/null differ diff --git a/util/bataille.py b/util/bataille.py index 8a0c9c6..8c634b6 100644 --- a/util/bataille.py +++ b/util/bataille.py @@ -24,18 +24,25 @@ class Carte: self.couleur = couleur def compare(self, other): + """Fonction permettant la comparaison entre deux cartes.""" if self.valeur > other.valeur: return 1 elif self.valeur < other.valeur: return -1 else: return 0 + + def __str__(self): + """Fonction permettant la distinction/séparation entre la valeur et la couleur de la carte.""" + return str(self.valeur) + "/" + str(self.couleur) class Jeux: + """ + Construction de la classe Jeux. + """ def __init__(self, nbcartes): self.paquet = File() - self.couleur = File() if nbcartes == 32: for couleur in [Carte.CARREAU, Carte.COEUR, Carte.PIQUE, Carte.TREFLE]: valeurs = [7, 8, 9, 10, Carte.VALET, Carte.DAME, Carte.ROI, Carte.AS] @@ -43,13 +50,16 @@ class Jeux: 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, Carte.VALET, Carte.DAME, Carte.ROI, Carte.AS] - + for couleur in [Carte.CARREAU, Carte.COEUR, Carte.PIQUE, Carte.TREFLE]: + valeurs = [2, 3, 4, 5, 6, 7, 8, 9, 10, Carte.VALET, Carte.DAME, Carte.ROI, Carte.AS] + for i in range(13): + rand = randint(0, len(valeurs)-1) + carte = Carte(valeurs.pop(rand), couleur) + self.paquet.enfiler(carte) def distribue(self): + """Fonction permettant le renvoie de deux files contenant la moitié des cartes du paquet.""" cp = self.paquet f1 = File() f2 = File() @@ -60,11 +70,15 @@ class Jeux: class Joueur: + """ + Construction de la classe Joueur. + """ def __init__(self, paquet, nom): self.paquet = paquet self.nom = nom self.derniere_carte = None def tire_carte(self): + """Fonction qui défile la tête de la file et la renvoie.""" self.derniere_carte = self.paquet.defiler() return self.derniere_carte