import random
import tkinter as tk
class Machine_a_sous :
def __init__ ( self ) :
self . argent = int ( input ( " Saississez votre somme de départ: " ) )
self . nombres = [ ]
self . bank = 1000
self . mise = - 1
self . gains = 0
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
return False
elif self . mise == 0 :
quit ( )
self . bank + = self . mise
self . argent - = self . mise
return self . mise
def nbAlea ( self ) :
""" renvoie une liste de 3 nombre aléatoires entre 0 et 9 """
self . nombres = [ random . randint ( 0 , 9 ) for i in range ( 3 ) ]
return self . nombres
def gain ( self ) :
if len ( set ( self . nombres ) ) == 1 and 9 in self . nombres :
self . gains = self . bank + self . mise
self . argent + = self . gains
self . bank = 0
elif len ( set ( self . nombres ) ) == 1 :
self . gains = self . mise * 6
self . argent + = self . gains
self . bank - = self . gains
elif len ( set ( self . nombres ) ) == 2 :
self . gains = self . mise * 3
self . argent + = self . gains
self . bank - = self . gains
else :
self . gains = 0
return self . gains
def affiche ( self ) :
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 " \n Il vous reste { self . argent } jetons, et il reste { self . bank } jetons dans le bac de la machine. \n " )
class Game_gui :
def __init__ ( self ) :
self . machine = Machine_a_sous ( )
self . bg_color = ' #777777 '
self . fen = tk . Tk ( )
self . fen . geometry ( ' 900x600 ' )
self . fen . title ( ' Bellagio ' )
self . fen . config ( background = self . bg_color )
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 . 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 ) ]
for i in range ( 3 ) :
self . rouleaus [ i ] . grid ( column = i + 2 , row = 2 )
self . fen . bind ( ' <Return> ' , self . play )
self . fen . mainloop ( )
def play ( self , event ) :
regles ( )
self . machine . mise = int ( self . entry_mise . get ( ) )
while self . machine . saisie ( ) == False :
self . game ( )
self . machine . nbAlea ( )
self . machine . gain ( )
self . maj_graph ( )
if self . 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 . mise . config ( text = self . machine . mise )
self . bank . config ( text = self . machine . bank )
self . argent . config ( text = self . machine . argent )
class Menu_gui :
def __init__ ( self ) :
self . bg_color = ' #777777 '
self . fen = tk . Tk ( )
self . fen . geometry ( ' 900x600 ' )
self . fen . title ( ' Bellagio ' )
self . fen . config ( 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 . regle = tk . Label ( self . fen , text = regles ( ) , font = ( ' Helvetica ' , 16 , ' bold ' ) , background = self . bg_color )
self . regle . pack ( )
self . fen . mainloop ( )
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. "
return text
# gui = Game_gui()
menu = Menu_gui ( )