You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
57 lines
1.6 KiB
from tkinter import Tk, Label, Button, StringVar
|
|
from PIL import Image, ImageTk
|
|
|
|
class Window(Tk):
|
|
|
|
def __init__(self, p1, p2):
|
|
"""Initialise la fenêtre et prends les deux joueurs en arguments"""
|
|
Tk.__init__(self)
|
|
|
|
self.title("Bataille")
|
|
self.minsize(1300, 600)
|
|
self.geometry("1300x600")
|
|
self.config(background="green")
|
|
|
|
self.build_window()
|
|
self.p1 = p1
|
|
self.p2 = p2
|
|
self.c1 = None
|
|
self.c2 = None
|
|
|
|
def build_window(self):
|
|
"""Ajoute les composants de base à la fenêtre"""
|
|
self.title = Label(text="Bataille", font=("Courrier", 32))
|
|
self.title.grid(row=1, column=1)
|
|
|
|
self.button = Button(self, text="Jouer", command=self.show_cards)
|
|
self.button.grid(row=4, column=1)
|
|
|
|
#.set() pour changer le texte
|
|
self.text_content = StringVar()
|
|
self.text = Label(self, textvariable=self.text_content)
|
|
self.text.grid(row=3, column=1)
|
|
|
|
def show_cards(self):
|
|
"""Affiche les dernières cartes jouées par les deux joueurs"""
|
|
if self.c1 is not None:
|
|
self.c1.destroy()
|
|
if self.c2 is not None:
|
|
self.c2.destroy()
|
|
|
|
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):
|
|
"""Lie la valeur et couleur de la carte à son image"""
|
|
card_names = list(range(56-(card.valeur-1)*4, 52-(card.valeur-1)*4 , -1))
|
|
image = Image.open("./img/"+str(card_names[card.couleur])+".png")
|
|
return image
|
|
|
|
|