|
|
@ -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 = [] |
|
|
@ -28,7 +29,6 @@ class Machine_a_sous: |
|
|
|
return self.nombres |
|
|
|
|
|
|
|
def gain(self): |
|
|
|
print('hello') |
|
|
|
print(self.mise, self.argent, self.bank) |
|
|
|
print(self.nombres) |
|
|
|
if len(set(self.nombres)) == 1 and 9 in self.nombres: |
|
|
@ -48,12 +48,14 @@ class Machine_a_sous: |
|
|
|
return self.gains |
|
|
|
|
|
|
|
def affiche(self): |
|
|
|
"""affiche le 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() |
|
|
@ -61,11 +63,14 @@ class Game_gui: |
|
|
|
self.fen.title('Bellagio') |
|
|
|
self.fen.config(background=self.bg_color) |
|
|
|
self.name_frame = ['banque', 'mise', 'argent'] |
|
|
|
# liste des cadres des infos |
|
|
|
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] |
|
|
|
#liste des infos |
|
|
|
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] |
|
|
|
|
|
|
|
# grid des cadres |
|
|
|
for i in range(3): |
|
|
|
if i != 1: |
|
|
|
self.frame[i].grid(column=self.column[i], row=1, padx=24) |
|
|
@ -77,14 +82,15 @@ class Game_gui: |
|
|
|
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, width=4, pady=150, text=0, background=self.bg_color, fg='#db0000', font=('Helvetica', 36, 'bold')) for i in range(3)] |
|
|
|
self.rouleaux = [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) |
|
|
|
self.rouleaux[i].grid(column=i+2, row=2) |
|
|
|
|
|
|
|
self.fen.bind('<Return>', self.play) |
|
|
|
self.fen.mainloop() |
|
|
|
|
|
|
|
def play(self, event): |
|
|
|
"""méthode qui gère le fonctionnement du jeu grace à la classe Machine_à_sous""" |
|
|
|
machine.mise = int(self.entry_mise.get()) |
|
|
|
mise_state = machine.saisie() |
|
|
|
if mise_state == "quit": |
|
|
@ -99,13 +105,15 @@ 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]) |
|
|
|
self.rouleaux[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: |
|
|
|
"""Interface graphique du menu (règles et argent)""" |
|
|
|
def __init__(self): |
|
|
|
self.fen = tk.Tk() |
|
|
|
self.bg_color = '#777777' |
|
|
@ -128,12 +136,13 @@ 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 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,7 +164,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 |
|
|
|
self.fen.destroy() |
|
|
|