diff --git a/main.py b/main.py index 6a663d5..ca15bc0 100644 --- a/main.py +++ b/main.py @@ -2,12 +2,14 @@ from File import File_chaine import tkinter as tk from urllib.request import urlopen import PIL +import sqlite3 class Carte: - def __init__(self,valeur, couleur): + def __init__(self, couleur, valeur, img_path): self.valeur = valeur self.couleur = couleur + self.image = img_path def compare(self, other): self.other = other.valeur @@ -18,23 +20,31 @@ class Carte: elif self.valeur == self.other : return 0 return None + + def __str__(self) -> str: + return str(self.valeur) + ' de ' + self.couleur + + class Jeux: def __init__(self, nb): paquet = [] - nb = len(self.paquet) - if nb == 32 : - nbcarte = nb - elif nb == 52 : - nbcarte = nb - else : - raise ValueError("Saissisez 32 ou 52 cartes") + self.nombre_carte = nb + if self.nombre_carte != 32 and self.nombre_carte != 52: + raise ValueError("Saissisez 32 ou 54 cartes") - for i in range(nbcarte): - carte = Carte() - paquet = [] + # Création du paquet de carte en fonction du nombre de carte + conn = sqlite3.connect('bdd.db') + c = conn.cursor() + if self.nombre_carte == 32: + c.execute('SELECT * FROM Cartes WHERE belote=True') + else: + c.execute('SELECT * FROM Carte') + data = c.fetchall() + for i, carte in enumerate(data): + paquet.append(Carte(data[i][0], data[i][1], data[i][3])) - def distribute(self, joueur): + def distribute(self, joueur) -> File_chaine: for i in range(nbcarte): mcarte1 = paquet - 1 #enlever moitie val mcarte2 = paquet # le reste du paquet @@ -51,47 +61,42 @@ class Jeux: #j1tete = j1.tete() #j2tete = j2.tete() - while not Carte(j1.tete, j2.tete) == 0 : + while not j1.compare(j2) == 0 : carte_envers = #id carte à l'envers dans la base de donnée j1.emfiler(carte_envers)#add carte à l'envers à j1 j2.emfiler(carte_envers)#add carte à l'envers à j2 j1.emfiler(j1.defiler()) j2.emfiler(j2.defiler()) - - - if Carte(j1.tete, j2.tete) == 1 : + if j1.compare(j2) == 1 : j1.enfiler(j1.defiler()) j1.enfiler(j2.defiler()) - elif Carte(j1.tete, j2.tete) == -1 : + elif j1.compare(j2) == -1 : j2.enfiler(j1.defiler()) j2.enfiler(j2.defiler()) j1.defiler() j2.defiler() + if j1.estvide() == True : # j1 a perdu + pass else: # j2 a perdu + pass class Gui: def __init__(self) -> None: self.win = tk.Tk() - src = 'http://www.iro.umontreal.ca/~reid/ift1146/E06/classic-cards/1.png' - url = urlopen(src) - raw_data = url.read() - print(raw_data) - url.close() - b64_data = encodestring(raw_data) - print(b64_data) - image = tk.PhotoImage(b64_data) - self.can = tk.Canvas(self.win, width=320, height=320) - self.can.create_image(200, 200, image=image) - self.can.pack() + # image = tk.PhotoImage(b64_data) + # self.can = tk.Canvas(self.win, width=320, height=320) + # self.can.create_image(200, 200, image=image) + # self.can.pack() self.win.mainloop() -Gui() \ No newline at end of file +Gui() +Jeux(32) \ No newline at end of file diff --git a/photo/back.png b/photo/back.png new file mode 100644 index 0000000..c116591 Binary files /dev/null and b/photo/back.png differ