Browse Source

ajout choix nombre de cartes (32 ou 52) et autres fioritures

master
bollet.c 9 months ago
parent
commit
a8023d9248
  1. 34
      test_interface.py

34
test_interface.py

@ -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. ")

Loading…
Cancel
Save