Browse Source

petit nom pour ton commit

master
quipiq 3 years ago
parent
commit
36ac434329
  1. 65
      main_tk.py

65
main_tk.py

@ -3,6 +3,7 @@ import tkinter as tk
from tkinter import messagebox from tkinter import messagebox
class Machine_a_sous: class Machine_a_sous:
"""classe principale gérant le casino"""
def __init__(self): def __init__(self):
self.argent = 0 self.argent = 0
self.nombres = [] self.nombres = []
@ -13,14 +14,19 @@ class Machine_a_sous:
def saisie(self): def saisie(self):
"""demande à l'utilisateur une mise""" """demande à l'utilisateur une mise"""
print('saisie') 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 try:
return False machine.mise = int(machine.mise)
if self.mise > self.argent or self.mise == 0: 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 "quit" return False
else: if self.mise > self.argent or self.mise == 0:
self.bank += self.mise return "quit"
self.argent -= self.mise else:
return self.mise self.bank += self.mise
self.argent -= self.mise
return self.mise
except:
if machine.mise == "stop":
return "quit"
def nbAlea(self): def nbAlea(self):
"""renvoie une liste de 3 nombre aléatoires entre 0 et 9""" """renvoie une liste de 3 nombre aléatoires entre 0 et 9"""
@ -28,6 +34,7 @@ class Machine_a_sous:
return self.nombres return self.nombres
def gain(self): def gain(self):
"""Mets à jour les gains de l'utilisateurs"""
print('hello') print('hello')
print(self.mise, self.argent, self.bank) print(self.mise, self.argent, self.bank)
print(self.nombres) print(self.nombres)
@ -48,12 +55,14 @@ class Machine_a_sous:
return self.gains return self.gains
def affiche(self): 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"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"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") print(f"\nIl vous reste {self.argent} jetons, et il reste {self.bank} jetons dans le bac de la machine.\n")
class Game_gui: class Game_gui:
"""Interface graphique du casino"""
def __init__(self): def __init__(self):
self.bg_color = '#777777' self.bg_color = '#777777'
self.fen = tk.Tk() self.fen = tk.Tk()
@ -85,10 +94,12 @@ class Game_gui:
self.fen.mainloop() self.fen.mainloop()
def play(self, event): 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() mise_state = machine.saisie()
if mise_state == "quit": if mise_state == "quit":
self.fen.quit() self.fen.quit()
self.fen.destroy()
elif mise_state != False: elif mise_state != False:
machine.nbAlea() machine.nbAlea()
machine.gain() machine.gain()
@ -99,6 +110,7 @@ class Game_gui:
self.fen.destroy() self.fen.destroy()
def maj_graph(self): def maj_graph(self):
"""Rafraîchi l'affichage des infos et rouleaux"""
for rouleau in range(3): for rouleau in range(3):
self.rouleaus[rouleau].config(text=machine.nombres[rouleau]) self.rouleaus[rouleau].config(text=machine.nombres[rouleau])
for i in range(len(self.info)): for i in range(len(self.info)):
@ -106,6 +118,7 @@ class Game_gui:
class Menu_gui: class Menu_gui:
"""Interface graphique du menu (règles et argent)"""
def __init__(self): def __init__(self):
self.fen = tk.Tk() self.fen = tk.Tk()
self.bg_color = '#777777' self.bg_color = '#777777'
@ -128,12 +141,39 @@ class Menu_gui:
self.fen.mainloop() self.fen.mainloop()
def get_argent(self, event): def get_argent(self, event):
"""récupère l'argent saisie par l'utilisateur"""
machine.argent = int(self.entry_mise.get()) machine.argent = int(self.entry_mise.get())
self.fen.destroy() 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: 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): def __init__(self):
self.est_majeur = False self.est_majeur = False
@ -155,6 +195,7 @@ class Fdj:
self.fen.mainloop() self.fen.mainloop()
def get_rep(self, event): def get_rep(self, event):
"""indique si le joueur est majeur"""
# indique si le joueur est majeur # indique si le joueur est majeur
if self.entry.get() == "oui": if self.entry.get() == "oui":
self.est_majeur = True self.est_majeur = True
@ -172,6 +213,8 @@ def regles():
fdj = Fdj() fdj = Fdj()
if fdj.est_majeur: if fdj.est_majeur:
"""Lance toutes les classes"""
machine = Machine_a_sous() machine = Machine_a_sous()
menu = Menu_gui() menu = Menu_gui()
gui = Game_gui() gui = Game_gui()
fin = Fin_gui()
Loading…
Cancel
Save