Vous êtes sur la page 1sur 10

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)

Vous aimerez peut-être aussi