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.

63 lines
3.1 KiB

import tkinter as tk
from tkinter import messagebox
from tkinter.constants import *
from bataille import Partie_TeSt
class Fenetre(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.title("Jeu de Bataille")
self.geometry("600x400")
self.configure(bg='#EDFAF0')
#creation d'un entrée pour inserer le nombre de cartes
bouton1 = tk.Button(self, text="Créer", command=self.creer, bg='white').pack(side=BOTTOM, anchor='sw', padx = 100, pady = 5)
self.entry = tk.Entry(self, width=40)
self.entry.pack(side=BOTTOM, anchor='sw', padx = 5, pady = 5)
tk.Label(self, text="Saisir le nombre de carte avant de jouer :", font=("Arial", 10)).pack(side=BOTTOM, anchor='sw', padx=5)
#bouton qui permet de lancer une partie
bouton2 = tk.Button(self, text="Jouer",command=self.jouer, bg='white').pack(side=TOP)
frame_table = tk.Frame(self)
frame_table.pack(fill=BOTH, expand="yes")
#coté gauche celui du joueur
self.frame_joueur = tk.LabelFrame(frame_table, text="Joueur", padx=20, pady=20, bg="#18B500")
self.frame_joueur.pack(side= LEFT, fill="both",expand="yes")
frame_carte_joueur = tk.LabelFrame(self.frame_joueur, text = "Carte joueur", bg="#EDFAF0", relief="raised", bd=3)
frame_carte_joueur.pack(expand="yes")
self.carte_joueur = tk.Label(frame_carte_joueur, text="...",font=("Arial", 60), bg="#EDFAF0")
self.carte_joueur.pack(padx=30, pady=50)
# coté droit, celui de l'ordinateur
self.frame_ordi = tk.LabelFrame(frame_table, text="Ordinateur", padx=20, pady=20, bg="#18B500")
self.frame_ordi.pack(side = LEFT, fill="both", expand="yes")
frame_carte_ordi = tk.LabelFrame(self.frame_ordi, text = "Carte ordinateur", bg="#EDFAF0", relief="raised", bd=3)
frame_carte_ordi.pack(expand="yes")
self.carte_ordi = tk.Label(frame_carte_ordi, text="...",font=("Arial", 60), bg="#EDFAF0")
self.carte_ordi.pack(padx=30, pady=50)
def creer(self):
""crée une partie en fonction du nombre de carte donné""
nb = int(self.entry.get())
self.partie = Partie_TeSt(nb)
def jouer(self):
""fait jouer un tour et affiche les cartes des joueur ainsi qu'une couronne derriere le nom de celui qui a le plus de carte dans son jeu""
if self.partie.get_winner() == "Partie en cours...":
self.partie.play_round()
self.carte_joueur.config(text=self.partie.get_cards()[0])
self.carte_ordi.config(text=self.partie.get_cards()[1])
if self.partie.get_size()[0] > self.partie.get_size()[1]:
self.frame_joueur.config(text="Joueur 👑")
self.frame_ordi.config(text="Ordinateur")
else :
self.frame_ordi.config(text="Ordinateur 👑")
self.frame_joueur.config(text="Joueur ")
else :
messagebox.showinfo("Vainqueur", "Le gagnant est " + self.partie.get_winner())
window = Fenetre()
window.mainloop()