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 . 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 . column = [ 1 , 2 , 5 ]
<< << << < HEAD
for i in range ( 3 ) :
if i != 1 :
self . frame [ i ] . grid ( column = self . column [ i ] , row = 1 , padx = 12 )
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 )
>> >> >> > 3 ce21be69dc251d54b7c491b4b2a0c8035f76778
self . entry_mise = tk . Entry ( self . fen , width = 50 )
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 = 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 . name_info = [ self . machine . bank , self . machine . m , self . machine . argent ]
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 ] )
for i in range ( len ( self . info ) ) :
self . info [ i ] . config ( text = self . name_info [ i ] )
class Menu_gui :
def __init__ ( self ) :
self . bg_color = ' #777777 '
<< << << < HEAD
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 ( )
== == == =
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 ( )
>> >> >> > 3 ce21be69dc251d54b7c491b4b2a0c8035f76778
def regles ( ) :
print ( " Bienvenue dans le jeu de la machine à sous. \n Il y a pars défault dans le bac de la machine 1000 jetons. \n Si les trois chiffres sont des 9, vous avez gagné le gros lot. Vous gagnez tout le bac de la machine. \n Si les trois chiffres sont identiques mais ne sont pas des 9, alors vous gagner 6 fois la mise que vous avez mis. \n Si les deux chiffres sont identiques, alors vous gagnez 3 fois la mise que vous avez mis. \n Si aucun chiffres ne sont identiques vous ne gagnez rien. " )
menu = Menu_gui ( )
gui = Gui ( )