|
|
@ -37,10 +37,15 @@ class Interface(tk.Frame): |
|
|
|
titre = tk.Label(self.menu, text="Bataille",bg="black", fg="white",font=("eufm10", 42),anchor ="n") |
|
|
|
titre.grid(sticky="N", row=0, pady=(100, 0)) |
|
|
|
|
|
|
|
jouer_btn = tk.Button(self.menu, text ="Jouer", command=self.jouer, width=20, height=2, relief="flat") |
|
|
|
jouer_btn.grid(row=0,pady=(100, 0)) |
|
|
|
jouer_choix = tk.LabelFrame(self.menu, text="Jouer",fg="white",bg="darkblue", relief="flat") |
|
|
|
jouer_choix.grid(row=0) |
|
|
|
|
|
|
|
quitter = tk.Button(self.menu, text ="Quitter", command=self.master.destroy, width=20, height=2, relief="flat") |
|
|
|
jouer32 = tk.Button(jouer_choix, text ="32 cartes", fg="black", bg="cadetblue1", command=lambda: self.jouer(32), width=20, height=2, relief="flat") |
|
|
|
jouer32.grid(row=0, column=0, padx=(10,10), pady=(10,10)) |
|
|
|
jouer52 = tk.Button(jouer_choix, text ="52 cartes", fg="black", bg="cadetblue1", command=lambda: self.jouer(52), width=20, height=2, relief="flat") |
|
|
|
jouer52.grid(row=0, column=1, padx=(10,10), pady=(10,10)) |
|
|
|
|
|
|
|
quitter = tk.Button(self.menu, text ="Quitter",fg="white", bg="darkred", command=self.master.destroy, width=20, height=2, relief="flat") |
|
|
|
quitter.grid(row=0,pady=(200, 0)) |
|
|
|
|
|
|
|
rnd_fond = tk.Button(self.menu, text ="joli", bg="black", fg="white", activebackground="black", command=self.joli, width=20, relief="flat") |
|
|
@ -52,14 +57,14 @@ class Interface(tk.Frame): |
|
|
|
for i in range(50): |
|
|
|
self.C.create_text(randint(0,728),randint(0,500),fill="white",font="Times 20",text=choice("🂡🂢🂣🂤🂥🂦🂧🂨🂩🂪🂫🂬🂭🂮🂱🂲🂳🂴🂵🂶🂷🂸🂹🂺🂻🂼🂽🂾🃁🃂🃃🃄🃅🃆🃇🃈🃉🃊🃋🃌🃍🃎🃑🃒🃓🃔🃕🃖🃗🃘🃙🃚🃛🃜🃝🃞")) |
|
|
|
|
|
|
|
def jouer(self): |
|
|
|
def jouer(self, nb_cartes): |
|
|
|
"""interface de jeu""" |
|
|
|
self.clearFrame(self.menu) |
|
|
|
|
|
|
|
self.jeu = tk.Frame() |
|
|
|
self.jeu.grid() |
|
|
|
|
|
|
|
jeu = Jeux(6) |
|
|
|
jeu = Jeux(nb_cartes) |
|
|
|
(self.paquet_joueur, self.paquet_ordi) = jeu.distribue() |
|
|
|
self.mise_joueur = Pile() |
|
|
|
self.mise_ordi = Pile() |
|
|
@ -112,38 +117,33 @@ class Interface(tk.Frame): |
|
|
|
"""affiche la carte du haut des paquets des joueurs et la taille de leurs paquets""" |
|
|
|
self.carte_joueur.config(text=self.paquet_joueur.tete()) |
|
|
|
self.nb_carte_joueur.config(text=self.paquet_joueur.taille()) |
|
|
|
|
|
|
|
self.update_canvas(self.canvas_joueur, self.paquet_joueur) |
|
|
|
self.update_canvas(self.canvas_ordi, self.paquet_ordi) |
|
|
|
|
|
|
|
|
|
|
|
self.carte_ordi.config(text=self.paquet_ordi.tete()) |
|
|
|
self.nb_carte_ordi.config(text=self.paquet_ordi.taille()) |
|
|
|
self.update_canvas(self.canvas_ordi, self.paquet_ordi) |
|
|
|
|
|
|
|
def update_canvas(self,canvas, paquet): |
|
|
|
"""met à jour les cartes affichées du paquet""" |
|
|
|
#juste cartes `blank`seraient meilleures, non ? |
|
|
|
def update_canvas(self,canvas,paquet): |
|
|
|
"""met à jour la cartes affichée en haut du paquet et la taille affichée du paquet""" |
|
|
|
canvas.delete("all") |
|
|
|
|
|
|
|
for i in range(paquet.taille() - 1): |
|
|
|
lettre = canvas.create_text(13,433-10*i,fill="black",font="Times 30",text="🂠") |
|
|
|
r=canvas.create_rectangle(canvas.bbox(lettre),fill="white") |
|
|
|
canvas.tag_lower(r,lettre) |
|
|
|
lettre = canvas.create_text(13,433-10*(paquet.taille()-1),fill="black",font="Times 30",text=paquet.tete()) |
|
|
|
lettre = canvas.create_text(13,433-10*(paquet.taille() - 1),fill="black",font="Times 30",text=paquet.tete()) |
|
|
|
r=canvas.create_rectangle(canvas.bbox(lettre),fill="white") |
|
|
|
canvas.tag_lower(r,lettre) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def carte_suivante(self): |
|
|
|
"""méthode principale : réalise une manche""" |
|
|
|
self.affiche_top_carte() |
|
|
|
if not self.paquet_joueur.est_vide() and not self.paquet_ordi.est_vide(): |
|
|
|
self.affiche_top_carte() |
|
|
|
|
|
|
|
if self.mise_joueur.est_vide() or self.mise_ordi.est_vide(): |
|
|
|
self.mise_joueur.empiler(self.paquet_joueur.defiler()) |
|
|
|
self.mise_ordi.empiler(self.paquet_ordi.defiler()) |
|
|
|
|
|
|
|
#self.affiche_top_carte() |
|
|
|
|
|
|
|
if self.mise_joueur.sommet().compare(self.mise_ordi.sommet()) == 1: |
|
|
|
vider_dans(self.mise_joueur, self.mise_ordi, self.paquet_joueur) |
|
|
|
self.etat.config(text=" Vous gagnez cette manche. ") |
|
|
|