@ -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 s elf . m ise > sel f. 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 ( ' 1300x9 00' )
self . fen . geometry ( ' 900x6 00' )
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 = 1 2)
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 = 20 0, 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 ( ' <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 ( )
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. \n Si les trois chiffres sont des 9, vous gagnez tout le bac! \n Si vous tombez sur 3 chiffres identiques différents de 9, alors vous gagnez 6 fois votre mise. \n Si vous avez 2 identiques, alors vous gagnez 3 fois la mise que vous avez mis. \n Si aucun chiffres ne sont identiques vous ne gagnez rien. "
text = " La machine 1000 jetons au départ. \n Si les trois chiffres sont des 9, vous gagnez tout le bac! \n Si vous tombez sur 3 chiffres identiques différents de 9 \n , alors vous gagnez 6 fois votre mise.\n Si vous avez 2 identiques, alors vous gagnez 3 fois la mise que vous avez mis. \n Si 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 ( )