From 3fe29ca281cf8f14cdff4833d55a7d4838f172a2 Mon Sep 17 00:00:00 2001 From: "barraux.a" Date: Thu, 15 Dec 2022 15:23:40 +0100 Subject: [PATCH] maj --- bdd.db | Bin 12288 -> 12288 bytes main.py | 108 ++++++++++++++++++++++++-------------------------------- 2 files changed, 47 insertions(+), 61 deletions(-) diff --git a/bdd.db b/bdd.db index bcb5e40f4b3abf41ad9acfa26f57d8d4bf2d3ab0..343796fa22c1af3f076ace440473f8aa09424c5a 100644 GIT binary patch delta 295 zcmZojXh@hK&3JX9j5FiajR_0+*|_#Hm~bte%r20~!L^W^o9iRj)s2OQTnbW#tkR5} z>Lo>oSES{n@)cy{m*ndk8W`vmv6!DTW0jo()EGkM(EQP8ufvAx%W)%nO zPtH#*ErQAzLuHJ>G6k81r7&}iHp@#tVo~HxWH8|kX5gL3dzAMlpDte_-&DSne1G{3 z`BV94@}K3+o~)u^EZxexo%c1LJYO(hJKt`;_x#HI;r!kF`}sff25&5U%wxyPBF)GM lbGISTtz1A11YmKPTTQrG#2FbOt}_O+A?`8SJW)5F2>>L0QE&hN delta 269 zcmZojXh@hK&3I*^j5FhvjR_0+*%%lYOt|(=W*120;O64`$aRBj@5Vx3t|UnlR%uR7 z_2k5&qSVCFf{gruG1HFR0ba7)=agbDgYH1Nf!Wb%H1ePesEG$ihNEksRBn`oa zl@uLbk(L9MGTbaL{fI>wWIt~r18*YlMBbykKlya|68Wa`o#gw=Z^)m@Ka>9~Z{B1j z1!Kt;-tD}v`Q-V6`P%t*^S$R+<`3uZ=HJi%d1K*69s?d0X--C{TTQrF#DN@;>x{un SuzQTaN}w(<+&ob?p9ugXg->Gu diff --git a/main.py b/main.py index 2710c96..eb42185 100644 --- a/main.py +++ b/main.py @@ -3,6 +3,7 @@ import tkinter as tk from PIL import Image, ImageTk import sqlite3 import random +import time class Carte: @@ -25,6 +26,7 @@ class Carte: class Jeux: def __init__(self, nb) -> None: + self.win = tk.Tk() self.paquet = [] self.nombre_carte = nb if self.nombre_carte != 32 and self.nombre_carte != 52: @@ -40,76 +42,60 @@ class Jeux: data = c.fetchall() for i, carte in enumerate(data): self.paquet.append(Carte(data[i][0], data[i][1], data[i][3])) - - - def distribute(self) -> File_chaine: - joueur = [File_chaine(), File_chaine()] - while len(self.paquet) > 0: - for i in range(2): - random_number = random.randint(0, len(self.paquet)-1) - joueur[i].enfiler(self.paquet.pop(random_number)) - return joueur - - def jeu(self): self.j1, self.j2 = self.distribute() - while not (self.j1.est_vide() or self.j2.est_vide()): - self.bataille() - - + self.win.bind('', lambda x: self.bataille()) if self.j1.est_vide(): # self.j1 a perdu donc self.j2 gagne toutes les cartes print(self.j1, self.j2) - else: + elif self.j2.est_vide(): print(self.j1, self.j2) - def bataille(self, buffer_draw=[File_chaine(), File_chaine()]): - # print('buffer', buffer_draw[0], buffer_draw[1], sep='\n') - j1_active_carte, j2_active_carte = self.j1.tete(), self.j2.tete() - if j1_active_carte.compare(j2_active_carte) == 0 : - try: - - # envers - buffer_draw[0].enfiler(self.j1.defiler()) # carte du dessus - buffer_draw[0].enfiler(self.j1.defiler()) # carte a l'envers - - buffer_draw[1].enfiler(self.j2.defiler()) # carte du dessus - buffer_draw[1].enfiler(self.j2.defiler()) # carte a l'envers - # print('next_buff' ,buffer_draw[0], buffer_draw[1]) - self.bataille(buffer_draw) - except IndexError: - pass - - elif j1_active_carte.compare(j2_active_carte) == 1 : - while not buffer_draw[0].est_vide(): - self.j1.enfiler(buffer_draw[0].defiler()) - self.j1.enfiler(buffer_draw[1].defiler()) - self.j1.enfiler(self.j2.defiler()) - - elif j1_active_carte.compare(j2_active_carte) == -1 :#self.j1.tete().compare(self.j2.tete()) == -1 : - while not buffer_draw[0].est_vide(): - self.j2.enfiler(buffer_draw[0].defiler()) - self.j2.enfiler(buffer_draw[1].defiler()) - self.j2.enfiler(self.j1.defiler()) - - -class App: - def __init__(self) -> None: - self.win = tk.Tk() - - self.jeu = Jeux(32) - self.jeu.jeu() - self.images = [] - - # self.display_card(self.jeu.paquet[12]) - self.win.mainloop() - - def display_card(self, carte :Carte) -> None: - self.images.append(tk.Label(image=carte.image)) - self.images[-1].pack() + + + def distribute(self) -> File_chaine: + joueur = [File_chaine(), File_chaine()] + while len(self.paquet) > 0: + for i in range(2): + random_number = random.randint(0, len(self.paquet)-1) + joueur[i].enfiler(self.paquet.pop(random_number)) + return joueur + + def bataille(self, buffer_draw=[File_chaine(), File_chaine()]) -> None: + # cartes retounées + if not (self.j1.est_vide() or self.j2.est_vide()): + print(buffer_draw[0], buffer_draw[1]) + j1_active_carte, j2_active_carte = self.j1.tete(), self.j2.tete() + if j1_active_carte.compare(j2_active_carte) == 0 : # égalité + try: + # envers + buffer_draw[0].enfiler(self.j1.defiler()) # carte du dessus + buffer_draw[0].enfiler(self.j1.defiler()) # carte a l'envers + + buffer_draw[1].enfiler(self.j2.defiler()) # carte du dessus + buffer_draw[1].enfiler(self.j2.defiler()) # carte a l'envers + # print('next_buff' ,buffer_draw[0], buffer_draw[1]) + self.bataille(buffer_draw) + except IndexError: + print('hello') + pass + + elif j1_active_carte.compare(j2_active_carte) == 1 : + while not buffer_draw[0].est_vide(): + self.j1.enfiler(buffer_draw[0].defiler()) + self.j1.enfiler(buffer_draw[1].defiler()) + self.j1.enfiler(self.j2.defiler()) + + elif j1_active_carte.compare(j2_active_carte) == -1 :#self.j1.tete().compare(self.j2.tete()) == -1 : + while not buffer_draw[0].est_vide(): + self.j2.enfiler(buffer_draw[0].defiler()) + self.j2.enfiler(buffer_draw[1].defiler()) + self.j2.enfiler(self.j1.defiler()) + else: + print(self.j1, self.j2, sep='\n') -gui = App() \ No newline at end of file +jeu = Jeux(32) \ No newline at end of file