diff --git a/main_tk.py b/main_tk.py index a22de4c..30082b5 100644 --- a/main_tk.py +++ b/main_tk.py @@ -3,6 +3,7 @@ import tkinter as tk from tkinter import messagebox class Machine_a_sous: + """classe principale gérant le casino""" def __init__(self): self.argent = 0 self.nombres = [] @@ -13,14 +14,19 @@ class Machine_a_sous: def saisie(self): """demande à l'utilisateur une mise""" print('saisie') - if not 100 > self.mise >= 0 or not self.mise <= self.argent: # tant que mise n'est pas compris entre 0-100 et > mise - return False - if self.mise > self.argent or self.mise == 0: - return "quit" - else: - self.bank += self.mise - self.argent -= self.mise - return self.mise + try: + machine.mise = int(machine.mise) + if not 100 > self.mise >= 0 or not self.mise <= self.argent: # tant que mise n'est pas compris entre 0-100 et > mise + return False + if self.mise > self.argent or self.mise == 0: + return "quit" + else: + self.bank += self.mise + self.argent -= self.mise + return self.mise + except: + if machine.mise == "stop": + return "quit" def nbAlea(self): """renvoie une liste de 3 nombre aléatoires entre 0 et 9""" @@ -28,6 +34,7 @@ class Machine_a_sous: return self.nombres def gain(self): + """Mets à jour les gains de l'utilisateurs""" print('hello') print(self.mise, self.argent, self.bank) print(self.nombres) @@ -48,12 +55,14 @@ class Machine_a_sous: return self.gains def affiche(self): + """affiche les trois rouleaux""" print(f"premier rouleau : {self.nombres[0]},deuxième rouleaux : {self.nombres[1]},troisième rouleaux {self.nombres[2]}") print(f"Vous avez gagné {self.gains} jetons") print(f"\nIl vous reste {self.argent} jetons, et il reste {self.bank} jetons dans le bac de la machine.\n") class Game_gui: + """Interface graphique du casino""" def __init__(self): self.bg_color = '#777777' self.fen = tk.Tk() @@ -85,10 +94,12 @@ class Game_gui: self.fen.mainloop() def play(self, event): - machine.mise = int(self.entry_mise.get()) + """méthode qui gère le fonctionnement du jeu grace à la classe Machine_à_sous""" + machine.mise = self.entry_mise.get() mise_state = machine.saisie() if mise_state == "quit": self.fen.quit() + self.fen.destroy() elif mise_state != False: machine.nbAlea() machine.gain() @@ -99,6 +110,7 @@ class Game_gui: self.fen.destroy() def maj_graph(self): + """Rafraîchi l'affichage des infos et rouleaux""" for rouleau in range(3): self.rouleaus[rouleau].config(text=machine.nombres[rouleau]) for i in range(len(self.info)): @@ -106,6 +118,7 @@ class Game_gui: class Menu_gui: + """Interface graphique du menu (règles et argent)""" def __init__(self): self.fen = tk.Tk() self.bg_color = '#777777' @@ -128,12 +141,39 @@ class Menu_gui: self.fen.mainloop() def get_argent(self, event): + """récupère l'argent saisie par l'utilisateur""" machine.argent = int(self.entry_mise.get()) self.fen.destroy() +class Fin_gui: + """Interface du menue de fin""" + def __init__(self): + self.fen = tk.Tk() + self.bg_color = '#777777' + self.fen.geometry('900x600') + self.fen.title('Bellagio') + self.fen.config(background=self.bg_color) + + self.name_frame = ['banque', 'mise', 'argent'] + self.frame = [tk.LabelFrame(self.fen, background=self.bg_color, labelanchor='n', text=i) for i in self.name_frame] + self.name_info = [machine.bank, 0, machine.argent] + self.info = [tk.Label(self.frame[i], background=self.bg_color, text=self.name_info[i], width=8, font=('Helvetica', 36, 'bold')) for i in range(3)] + self.column = [1, 2, 5] + + for i in range(3): + if i != 1: + self.frame[i].grid(column=self.column[i], row=1, padx=24) + else: + self.frame[i].grid(columnspan=3, column=self.column[i], row=1) + self.info[i].grid() + + self.quit = tk.Button(self.fen, width=40, text ="Quitter", command = self.fen.destroy) + self.quit.grid(columnspan=3, column=2, row=3) + + self.fen.mainloop() class Fdj: - # Test pour savoir si le joueur à le droit de rentrer dans le casino + """Test pour savoir si le joueur est majeur et à le droit de rentrer dans le casino""" def __init__(self): self.est_majeur = False @@ -155,6 +195,7 @@ class Fdj: self.fen.mainloop() def get_rep(self, event): + """indique si le joueur est majeur""" # indique si le joueur est majeur if self.entry.get() == "oui": self.est_majeur = True @@ -172,6 +213,8 @@ def regles(): fdj = Fdj() if fdj.est_majeur: + """Lance toutes les classes""" machine = Machine_a_sous() menu = Menu_gui() - gui = Game_gui() \ No newline at end of file + gui = Game_gui() + fin = Fin_gui() \ No newline at end of file