diff --git a/main_tk.py b/main_tk.py index 39fe863..2ee4628 100644 --- a/main_tk.py +++ b/main_tk.py @@ -1,9 +1,10 @@ import random import tkinter as tk +from tkinter import messagebox class Machine_a_sous: def __init__(self): - self.argent = int(input("Saississez votre somme de départ: ")) + self.argent = 0 self.nombres = [] self.bank = 1000 self.mise = -1 @@ -11,10 +12,10 @@ class Machine_a_sous: def saisie(self): """demande à l'utilisateur une 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 + 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 - elif self.mise == 0: - quit() + if self.mise > self.argent or self.mise == 0: + return "quit" self.bank += self.mise self.argent -= self.mise return self.mise @@ -49,40 +50,30 @@ class Machine_a_sous: class Game_gui: def __init__(self): - self.machine = Machine_a_sous() self.bg_color = '#777777' self.fen = tk.Tk() - self.fen.geometry('1300x900') + 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 = [self.machine.bank, 0, self.machine.argent] - self.info = [tk.Label(self.frame[i], background=self.bg_color, text=self.name_info[i], width=15, font=('Helvetica', 36, 'bold')) for i in range(3)] + 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=9, 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=12) + 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.bank = tk.Label(self.fen, background=self.bg_color, text=self.machine.bank,width=4, padx=90, font=('Helvetica', 36, 'bold')) - self.bank.grid(column=1, row=1) - - self.argent = tk.Label(self.fen, background=self.bg_color, text=self.machine.argent,width=3, padx=140, font=('Helvetica', 36, 'bold')) - self.argent.grid(column=5, row=1) - - self.mise = tk.Label(self.fen, width=2, background=self.bg_color, text=0, font=('Helvetica', 36, 'bold')) - self.mise.grid(column=3, row=1) - - self.entry_mise = tk.Entry(self.fen, width=50) + self.entry_mise = tk.Entry(self.fen, width=40) self.entry_mise.insert(0, 'Entrez votre mise entre 0 et 100') self.entry_mise.grid(columnspan=3, column=2, row=3) - self.rouleaus = [tk.Label(self.fen, padx=35, pady=200, text=0, background=self.bg_color, fg='#db0000', font=('Helvetica', 36, 'bold')) for i in range(3)] + self.rouleaus = [tk.Label(self.fen, width=4, pady=150, text=0, background=self.bg_color, fg='#db0000', font=('Helvetica', 36, 'bold')) for i in range(3)] for i in range(3): self.rouleaus[i].grid(column=i+2, row=2) @@ -90,26 +81,26 @@ class Game_gui: self.fen.mainloop() def play(self, event): - self.machine.mise = int(self.entry_mise.get()) - while self.machine.saisie() == False: - self.game() - self.machine.nbAlea() - self.machine.gain() - self.name_info = [self.machine.bank, self.machine.m, self.machine.argent] - self.maj_graph() - if self.machine.bank <= 500: - self.fen.destroy() + machine.mise = int(self.entry_mise.get()) + if machine.saisie() == "quit": + self.fen.quit() + elif machine.saisie() != False: + machine.nbAlea() + machine.gain() + self.name_info = [machine.bank, machine.mise, machine.argent] + self.maj_graph() + if machine.bank <= 500: + self.fen.destroy() def maj_graph(self): for rouleau in range(3): - self.rouleaus[rouleau].config(text=self.machine.nombres[rouleau]) + self.rouleaus[rouleau].config(text=machine.nombres[rouleau]) for i in range(len(self.info)): self.info[i].config(text=self.name_info[i]) class Menu_gui: def __init__(self): - self.fen = tk.Tk() self.bg_color = '#777777' self.fen.geometry('900x600') @@ -119,16 +110,62 @@ class Menu_gui: self.pres = tk.Label(self.fen, text='Bienvenue au casino', font=('Helvetica', 36, 'bold'), background=self.bg_color) self.pres.pack() - self.regle = tk.Label(self.fen, text=regles(), font=('Helvetica', 16, 'bold'), background=self.bg_color) + self.regle = tk.Label(self.fen, text=regles(), pady=50, font=('Helvetica', 16, 'bold'), background=self.bg_color) self.regle.pack() + + self.entry_mise = tk.Entry(self.fen, width=100) + self.entry_mise.insert(0, 'Entrez votre somme de départ') + self.entry_mise.pack() + + self.fen.bind('', self.get_argent) + + self.fen.mainloop() + + def get_argent(self, event): + machine.argent = int(self.entry_mise.get()) + self.fen.destroy() + + +class Fdj: + # Test pour savoir si le joueur à le droit de rentrer dans le casino + def __init__(self): + + self.est_majeur = False + + self.fen = tk.Tk() + self.bg_color = '#777777' + self.fen.geometry('900x600') + self.fen.title('Bellagio') + self.fen.config(background=self.bg_color) + + self.question = tk.Label(self.fen, text='Etes-vous majeur?', font=('Helvetica', 36, 'bold'), background=self.bg_color) + self.question.pack() + self.entry = tk.Entry(self.fen, width=100) + self.entry.insert(0, 'repondez oui ou non') + self.entry.pack() + + self.fen.bind('', self.get_rep) self.fen.mainloop() + def get_rep(self, event): + # indique si le joueur est majeur + if self.entry.get() == "oui": + self.est_majeur = True + self.fen.destroy() + else: + tk.messagebox.showinfo("Aurevoir", "Vous êtes mineurs, vous n'avez pas l'âge de jouer!") + self.fen.destroy() + + def regles(): - text ="La machine 1000 jetons au départ.\nSi les trois chiffres sont des 9, vous gagnez tout le bac!\nSi vous tombez sur 3 chiffres identiques différents de 9, alors vous gagnez 6 fois votre mise.\nSi vous avez 2 identiques, alors vous gagnez 3 fois la mise que vous avez mis.\nSi aucun chiffres ne sont identiques vous ne gagnez rien." + text ="La machine 1000 jetons au départ.\nSi les trois chiffres sont des 9, vous gagnez tout le bac!\nSi vous tombez sur 3 chiffres identiques différents de 9\n, alors vous gagnez 6 fois votre mise.\nSi vous avez 2 identiques, alors vous gagnez 3 fois la mise que vous avez mis.\nSi aucun chiffres ne sont identiques vous ne gagnez rien." return text -menu = Menu_gui() -gui = Game_gui() +fdj = Fdj() +if fdj.est_majeur: + machine = Machine_a_sous() + menu = Menu_gui() + gui = Game_gui() \ No newline at end of file