Browse Source

version 3.1415926535

master
BARRAUX Arthur 3 years ago
parent
commit
e6016ab92d
  1. 107
      main_tk.py

107
main_tk.py

@ -1,9 +1,10 @@
import random import random
import tkinter as tk import tkinter as tk
from tkinter import messagebox
class Machine_a_sous: class Machine_a_sous:
def __init__(self): def __init__(self):
self.argent = int(input("Saississez votre somme de départ: ")) self.argent = 0
self.nombres = [] self.nombres = []
self.bank = 1000 self.bank = 1000
self.mise = -1 self.mise = -1
@ -11,10 +12,10 @@ class Machine_a_sous:
def saisie(self): def saisie(self):
"""demande à l'utilisateur une mise""" """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 return False
elif self.mise == 0: if self.mise > self.argent or self.mise == 0:
quit() return "quit"
self.bank += self.mise self.bank += self.mise
self.argent -= self.mise self.argent -= self.mise
return self.mise return self.mise
@ -49,40 +50,30 @@ class Machine_a_sous:
class Game_gui: class Game_gui:
def __init__(self): def __init__(self):
self.machine = Machine_a_sous()
self.bg_color = '#777777' self.bg_color = '#777777'
self.fen = tk.Tk() self.fen = tk.Tk()
self.fen.geometry('1300x900') self.fen.geometry('900x600')
self.fen.title('Bellagio') self.fen.title('Bellagio')
self.fen.config(background=self.bg_color) self.fen.config(background=self.bg_color)
self.name_frame = ['banque', 'mise', 'argent'] 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.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.name_info = [machine.bank, 0, 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.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] self.column = [1, 2, 5]
for i in range(3): for i in range(3):
if i != 1: 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: else:
self.frame[i].grid(columnspan=3, column=self.column[i], row=1) self.frame[i].grid(columnspan=3, column=self.column[i], row=1)
self.info[i].grid() 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.entry_mise = tk.Entry(self.fen, width=40)
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.insert(0, 'Entrez votre mise entre 0 et 100') self.entry_mise.insert(0, 'Entrez votre mise entre 0 et 100')
self.entry_mise.grid(columnspan=3, column=2, row=3) 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): for i in range(3):
self.rouleaus[i].grid(column=i+2, row=2) self.rouleaus[i].grid(column=i+2, row=2)
@ -90,26 +81,26 @@ class Game_gui:
self.fen.mainloop() self.fen.mainloop()
def play(self, event): def play(self, event):
self.machine.mise = int(self.entry_mise.get()) machine.mise = int(self.entry_mise.get())
while self.machine.saisie() == False: if machine.saisie() == "quit":
self.game() self.fen.quit()
self.machine.nbAlea() elif machine.saisie() != False:
self.machine.gain() machine.nbAlea()
self.name_info = [self.machine.bank, self.machine.m, self.machine.argent] machine.gain()
self.maj_graph() self.name_info = [machine.bank, machine.mise, machine.argent]
if self.machine.bank <= 500: self.maj_graph()
self.fen.destroy() if machine.bank <= 500:
self.fen.destroy()
def maj_graph(self): def maj_graph(self):
for rouleau in range(3): 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)): for i in range(len(self.info)):
self.info[i].config(text=self.name_info[i]) self.info[i].config(text=self.name_info[i])
class Menu_gui: class Menu_gui:
def __init__(self): def __init__(self):
self.fen = tk.Tk() self.fen = tk.Tk()
self.bg_color = '#777777' self.bg_color = '#777777'
self.fen.geometry('900x600') 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 = tk.Label(self.fen, text='Bienvenue au casino', font=('Helvetica', 36, 'bold'), background=self.bg_color)
self.pres.pack() 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.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('<Return>', 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('<Return>', self.get_rep)
self.fen.mainloop() 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(): 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 return text
menu = Menu_gui() fdj = Fdj()
gui = Game_gui() if fdj.est_majeur:
machine = Machine_a_sous()
menu = Menu_gui()
gui = Game_gui()
Loading…
Cancel
Save