From 00220bc6618456bea2cbbda35adea13e95c60df3 Mon Sep 17 00:00:00 2001 From: Mattheo Date: Wed, 14 Dec 2022 11:05:13 +0100 Subject: [PATCH 1/3] ajout de listechaine --- lib/listeChaine.py | 111 +++++++++++++++++++++++++++++++++++++++++++++ main.py | 2 +- 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 lib/listeChaine.py diff --git a/lib/listeChaine.py b/lib/listeChaine.py new file mode 100644 index 0000000..5c491ef --- /dev/null +++ b/lib/listeChaine.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Tue Sep 22 20:44:35 2020 + +@author: manu +""" + + +class Maillon: + """Un maillon d'une liste chaînée.""" + def __init__(self, valeur, suivant): + self.valeur = valeur + self.suivant = suivant + + def __str__(self): + """Renvoie une chane de caractères représentant le maillon.""" + return str(self.valeur) + + +class ListeChaine: + """Une liste chaînée.""" + def __init__(self, tete=None): + """Crée une liste vide, ou une liste dont la tete (un maillon) + est donnée.""" + self.__tete = tete + + def est_vide(self): + """Indique si la liste est vide.""" + return self.__tete is None + + def tete(self): + """Renvoie la valeur du premier élément de la liste.""" + if self.est_vide(): + raise IndexError("La liste vide n'a pas de tête") + return self.__tete.valeur + + def queue(self): + """Renvoie la queue de la liste.""" + if self.est_vide(): + raise IndexError("La liste vide n'a pas de queue") + return ListeChaine(self.__tete.suivant) + + def ajoute(self, valeur): + """ajoute `valeur` en tête de la liste.""" + self.__tete = Maillon(valeur, self.__tete) + + def __str__(self): + """Renvoie une chaîne de caractères représentant la liste.""" + maillon = self.__tete + s = '' + while maillon is not None: + s = s + str(maillon.valeur) + maillon = maillon.suivant + if maillon is not None: + s += '->' + return s + + def __len__(self): + """Renvoie la longueur de la liste.""" + maillon = self.__tete + long = 0 + while maillon is not None: + long = long + 1 + maillon = maillon.suivant + return long + + def __getitem__(self, n): + """Renvoie l'élément d'indice n de la liste.""" + maillon = self.__tete + i = 0 + while i < n and maillon is not None: + i = i + 1 + maillon = maillon.suivant + if maillon is None or n < 0: + raise IndexError("Indice non valide") + return maillon.valeur + + def __add__(self, other): + """Renvoie la liste correspondant à la concaténation des 2 listes.""" + if self.est_vide(): + return other + v = self.tete() + q = self.queue() + return ListeChaine(Maillon(v, (q + other).__tete)) + + def reverse(self): + """Renvoie une liste correspondant à la liste renversée.""" + res = ListeChaine() + maillon = self.__tete + while maillon is not None: + res.ajoute(maillon.valeur) + maillon = maillon.suivant + return res + + +if __name__ == "__main__": + lst = ListeChaine() + print(lst.est_vide()) + lst.ajoute(306) + lst.ajoute(42) + lst.ajoute(205) + print(lst) + print(lst.est_vide()) + print(lst[0]) + print(lst[1]) + print(len(lst)) + lst2 = ListeChaine() + lst2.ajoute(18) + lst2.ajoute(45) + print(lst + lst2) diff --git a/main.py b/main.py index fb780d9..95b3d49 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,4 @@ -from bataille import * +from util.bataille import * from lib.Pile import Pile_lst def bataille(): From fd0b3b0ea670e10625c561736f790958b8062554 Mon Sep 17 00:00:00 2001 From: Mattheo Date: Wed, 14 Dec 2022 11:05:43 +0100 Subject: [PATCH 2/3] ajout d'un peu de docu dans main --- lib/Pile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Pile.py b/lib/Pile.py index 3f198b5..3fe61cf 100644 --- a/lib/Pile.py +++ b/lib/Pile.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -from listeChaine import ListeChaine +from lib.listeChaine import ListeChaine class Pile_lst: """Implémentation d'une pile par une liste.""" From 107af9d2fd2175a23c4fb3d0aa4de6fcec5bda9d Mon Sep 17 00:00:00 2001 From: "aboulin.a" Date: Wed, 14 Dec 2022 11:51:28 +0100 Subject: [PATCH 3/3] cartes qui s'affichent youhou --- util/50.png | Bin 0 -> 463 bytes util/window.py | 20 ++++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 util/50.png diff --git a/util/50.png b/util/50.png new file mode 100644 index 0000000000000000000000000000000000000000..ae7ba22e2f769c5fbb6d320461868f5edae9d3a6 GIT binary patch literal 463 zcmV;=0WkiFP)P(Wi-q$W2A1qa9x;3za)fEmscPKG7VBx^~tQjyZ` zcIQRLP2*Gcmi+TAl$hSgrS66AF9%`3n5JFJ)5QwRQz_30>VY1jR}cDJJp*< zke9-Zsp%0IQ)3A60;PH-ODTv?PS((Jr4NEW*P(YlWe*1p&6n#PLyuWQ``2EQ6h+XC z_dc{oJeR7Pjz>e&Tz`2kwfX%z{eAzae>YM6#jVo!GND_1HXv&w6a+6*QXLcoZ--T; zLFhc7*L}mf}FooHW!~S+hB#Qpp}9?6q015gt0DW)qi? zw0w>O9>l>yLMnz(M2QEQ#R^3u8L~KlDM+LQ8xp~fL!pNH2#K^y#@_W|l#;3e^|7`V zat|FxUJs%|E`$(*%n^uoG&NT^+9R-fhM>R)*A^n5ZvPvjGMb(-9e@A;002ovPDHLk FV1oSoyQu&G literal 0 HcmV?d00001 diff --git a/util/window.py b/util/window.py index 116c247..f47a54c 100644 --- a/util/window.py +++ b/util/window.py @@ -1,4 +1,4 @@ -from tkinter import Tk, Label, Button +from tkinter import Tk, Label, Button, PhotoImage, Canvas, NW from PIL import Image, ImageTk class Window(Tk): @@ -28,15 +28,23 @@ class Window(Tk): self.c1.destroy() if self.c2 is not None: self.c2.destroy() - self.c1 = Label(text=self.p1.derniere_carte, font=("Courrier", 48)) - self.c2 = Label(text=self.p2.derniere_carte, font=("Courrier", 48)) + #self.c1 = Label(text=self.p1.derniere_carte, font=("Courrier", 48)) + #self.c2 = Label(text=self.p2.derniere_carte, font=("Courrier", 48)) + img1 = ImageTk.PhotoImage(card_to_image(self.p1.derniere_carte)) + self.c1 = Label(self, image=img1) + self.c1.photo = img1 + + img2 = ImageTk.PhotoImage(card_to_image(self.p2.derniere_carte)) + self.c2 = Label(image=img2) + self.c2.photo = img2 self.c1.grid(row=2, column=0) self.c2.grid(row=2, column=2) def card_to_image(card): - r = range(56-card.valeur*4, 52-card.valeur*4 , -1) - for i in r: - print(i) + card_names = list(range(56-card.valeur*4, 52-card.valeur*4 , -1)) + image = Image.open("./img/"+str(card_names[card.couleur])+".png") + print(str(card_names[card.couleur])+".png") + return image if __name__ == "__main__": card_to_image(Carte(2, 4))