import random #on importe le module random pour pouvoir faire des tirages de numeros
dans la fonction tirer_numero
print(" *** BIENVENUE A LA ROULETTE DU CASINO ***")
#On definit le capital initial du joueur, ce capital est de 1000 Tune
capital = 1000
print()
print("Votre capital initial est de 1000T")
print()
# Fonction tirer_numero qui va tirer un nombre n au hasard en utilisant le module
random
def tirer_numero():
n = random.randint(0,36)
return(n)
# Fonction demander_nom qui va demander le nom du joueur
def demander_nom():
nom = str(input("Saisissez votre nom: "))
return(nom)
# Fonction est_pair qui va verifier si le nombre tire n est pair ou non, en retournant un
booleen
def est_pair(n):
if n % 2 == 0:
return True
else:
return False
#Fonction est_impair qui va verifier si le nombre tire n est impair ou non, en
retournant un booleen
def est_impair(n):
if n % 2 == 0:
return False
else:
return True
# Fonction est_passe qui va verifier si le nombre tire n est passe ou non, en
retournant un booleen
def est_passe(n):
if n >= 19:
return True
else:
return False
#Fonction est_manque qui va verifier si le nombre tire n est manque ou non, en
retournant un booleen
def est_manque(n):
if n <= 18:
return True
else:
return False
#Fonction est_rouge qui va verifier si le nombre tire n est rouge ou non, en retournant
un booleen
def est_rouge(n):
if n == 1 or n == 3 or n == 5 or n == 7 or n == 9 or n == 12 or n == 14 or n == 16 or n == 18
or n == 19 or n == 21 or n == 23 or n == 25 or n == 27 or n == 30 or n == 32 or n == 34 or n
== 36:
return True
else:
return False
#Fonction est_noir qui va verifier si le nombre tire n est noir ou non, en retournant un
booleen
def est_noir(n):
if est_rouge == True:
return False
else:
return True
#Fonction num_tiers qui va verifier si le nombre tire n fait partie du premier, du
deuxieme ou du troisieme tiers, en retournant un entier correspondant a son tiers
respectif
def num_tiers(n):
if n != 0 and n <= 12:
return(1) #T1
elif n >= 13 and n <= 24:
return(2) #T2
elif n >= 25:
return(3) #T3
#Fonction num_ligne qui va verifier de quelle ligne fait partie le nombre tire n, en
retournant un entier correspondant a la ligne respective de n
def num_ligne(n):
if n != 0 and n <= 3:
return(1) #L1
elif n >= 4 and n <= 6:
return(2) #L2
elif n >= 7 and n <= 9:
return(3) #L3
elif n >= 10 and n <= 12:
return(4) #L4
elif n >= 13 and n <= 15:
return(5) #L5
elif n >= 16 and n <= 18:
return(6) #L6
elif n >= 19 and n <= 21:
return(7) #L7
elif n >= 22 and n <= 24:
return(8) #L8
elif n >= 25 and n <= 27:
return(9) #L9
elif n >= 28 and n <= 30:
return(10) #L10
elif n >= 31 and n <= 33:
return(11) #L11
elif n >= 34 and n <= 36:
return(12) #L12
#Fonction num_colonne qui va verifier si le nombre tire n fait partie de la premiere, de
la deuxieme ou de la troisieme colonne, en retournant un entier correspondant a sa
colonne respective
def num_colonne(n):
for x in range(12):
if n == 1 + 3 * x:
return(1) #C1
elif n == 2 + 3 * x:
return(2) #C2
elif n == 3 + 3 * x:
return(3) #C3
#Fonction calculer_gain dans laquelle on va calculer le gain du joueur dependant du
pari etabli, et de la mise etablie et si le pari a marche ou non
def calculer_gain(n):
if pari == n:
return(mise * 35)
elif pari == 'PAIR' and est_pair(n) == True:
return(mise)
elif pari == 'IMPAIR' and est_impair(n) == True:
return(mise)
elif pari == 'MANQUE' and est_manque(n) == True:
return(mise)
elif pari == 'PASSE' and est_passe(n) == True:
return(mise)
elif pari == 'ROUGE' and est_rouge(n) == True:
return(mise)
elif pari == 'NOIR' and est_noir(n) == True:
return(mise)
elif pari == 'T1' and num_tiers(n) == 1:
return(mise * 2)
elif pari == 'T2' and num_tiers(n) == 2:
return(mise * 2)
elif pari == 'T3' and num_tiers(n) == 3:
return(mise * 2)
elif pari == 'C1' and num_colonne(n) == 1:
return(mise * 2)
elif pari == 'C2' and num_colonne(n) == 2:
return(mise * 2)
elif pari == 'C3' and num_colonne(n) == 3:
return(mise * 2)
elif pari == 'L1' and num_ligne(n) == 1:
return(mise * 11)
elif pari == 'L2' and num_ligne(n) == 2:
return(mise * 11)
elif pari == 'L3' and num_ligne(n) == 3:
return(mise * 11)
elif pari == 'L4' and num_ligne(n) == 4:
return(mise * 11)
elif pari == 'L5' and num_ligne(n) == 5:
return(mise * 11)
elif pari == 'L6' and num_ligne(n) == 6:
return(mise * 11)
elif pari == 'L7' and num_ligne(n) == 7:
return(mise * 11)
elif pari == 'L8' and num_ligne(n) == 8:
return(mise * 11)
elif pari == 'L9' and num_ligne(n) == 9:
return(mise * 11)
elif pari == 'L10' and num_ligne(n) == 10:
return(mise * 11)
elif pari == 'L11' and num_ligne(n) == 11:
return(mise * 11)
elif pari == 'L12' and num_ligne(n) == 12:
return(mise * 11)
else:
return(0)
#Fonction afficher_tapis dans laquelle on va afficher le tapis de la roulette ainsi que la
liste des paris pour un meilleur aspect visuel au joueur
def afficher_tapis():
print("""
_______________
/ \
/ 0 \
/ \
------------------------------------------- _
| L1 | 1 | 2 | 3 | | M \ /\
| L2 | 4 | 5 | 6 | T | A \ / \
| L3 | 7 | 8 | 9 | 1 | N | / P \
| L4 | 10 | 11 | 12 | | Q | / A \
|-----------------------------------| U | \ I /
| L5 | 13 | 14 | 15 | | E / \ R /
| L6 | 16 | 17 | 18 | T |______/ \___/
| L7 | 19 | 20 | 21 | 2 | \ /I\
| L8 | 22 | 23 | 24 | | P \ / M \
|-----------------------------------| A | / P \
| L9 | 25 | 26 | 27 | | S | \ A /
| L10 | 28 | 29 | 30 | T | S | \ I /
| L11 | 31 | 32 | 33 | 3 | E / \R/
| L12 | 34 | 35 | 36 | | / \_/
-------------------------------------------
\ C /\ C /\ C /
\1/ \2/ \3/
\_/ \_/ \_/
|---------------------------------------------------------------------------|
| ROUGE | 1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36 |
|---------------------------------------------------------------------------|
| NOIR | 2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35 |
|---------------------------------------------------------------------------|
**LISTE DES PARIS**
>numero simple (gain = x36 de la mise): Saisir un numero en 0 et 36
>pair (gain = x2 de la mise): Saisir PAIR
>impair (gain = x2 de la mise): Saisir IMPAIR
>manque (gain = x2 de la mise): Saisir MANQUE
>passe (gain = x2 de la mise): Saisir PASSE
>rouge (gain = x2 de la mise): Saisir ROUGE
>noir (gain = x2 de la mise): Saisir NOIR
>tiers (gain = x3 de la mise): Saisir T + le nombre correspondant au tiers choisi (ex: T2)
>colonne (gain = x3 de la mise): Saisir C + le nombre correspondant a la colonne choisie
(ex: C3)
>ligne (gain = x12 de la mise): Saisir L + le nombre correspondant a la ligne choisie (ex:
L8)
""")
#Fonction afficher_tirage qui va afficher les categories correspondantes au nombre
tire au hasard n
def afficher_tirage(n):
print()
print("LES JEUX SONT FAITS!")
print()
print("Tirage:", tirer_numero())
if est_pair == True:
print("Pair")
elif est_impair == True:
print("Impair")
elif est_noir == True:
print("Noir")
elif est_rouge == True:
print("Rouge")
elif est_passe == True:
print("Passe")
elif est_manque == True:
print("Manque")
elif num_tiers == 1:
print("Tiers T1")
elif num_tiers == 2:
print("Tiers T2")
elif num_tiers == 3:
print("Tiers T3")
elif num_colonne == 1:
print("Colonne C1")
elif num_colonne == 2:
print("Colonne C2")
elif num_colonne == 3:
print("Colonne C3")
elif num_ligne == 1:
print("Ligne L1")
elif num_ligne == 2:
print("Ligne L2")
elif num_ligne == 3:
print("Ligne L3")
elif num_ligne == 4:
print("Ligne L4")
elif num_ligne == 5:
print("Ligne L5")
elif num_ligne == 6:
print("Ligne L6")
elif num_ligne == 7:
print("Ligne L7")
elif num_ligne == 8:
print("Ligne L8")
elif num_ligne == 9:
print("Ligne L9")
elif num_ligne == 10:
print("Ligne L10")
elif num_ligne == 11:
print("Ligne L11")
elif num_ligne == 12:
print("Ligne L12")
nom = demander_nom()
nb_tours = 0
#Boucle principale du jeu de la roulette
while capital > 0:
nb_tours = nb_tours + 0,1
afficher_tapis()
#on va demander au joueur le pari choisi et sa mise
pari = str(input("Veuillez saisir votre pari (une saisie incorrecte entrainera la perte totale de
votre mise): "))
mise = int(input("Veuillez saisir votre mise (max: 500): "))
if mise > 500 or mise > capital: #pour confirmer le fait que la mise ne peut pas etre
superieur a 500 ou au capital du joueur
print(nom, ", la mise maximale est 500")
while mise > 500 or mise > capital:
mise = int(input("Veuillez resaisir une mise valide (max: 500 ou votre capital): "))
tirer_numero()
n = tirer_numero()
est_pair(n)
est_impair(n)
est_passe(n)
est_manque(n)
est_rouge(n)
est_noir(n)
num_tiers(n)
num_ligne(n)
num_colonne(n)
afficher_tirage(n)
calculer_gain(n)
#calcule du capital du joueur apres le tour
if calculer_gain(n) == 0:
capital = capital - mise
else:
capital = calculer_gain(n)
print("VOTRE GAIN EST DE:", calculer_gain(n)) #gain du joueur
print(nom,", votre nouveau capital est de", capital) #nouveau capital du joueur
if nb_tours == 10 * x: #demander au joueur tous les dix tours si il a envie d'arreter de jouer
choix_fin = str(input("Voulez vous terminer la partie (Repondre par OUI ou par NON): "))
if choix_fin == 'OUI': #si oui, on arrete la partie
break
print("La partie est terminee, merci d'avoir joue a la roulette de l'EIB. Votre capital final
est de:", capital)
print()
print("A la prochaine", nom)
if capital == 0: # la partie s'arrete quand le capital du joueur est egal a 0
print("Votre capital est a 0, vous ne pouvez donc plus jouer. Merci d'avoir joue a la
roulette de l'EIB")
print()
print("A la prochaine", nom)