You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.5 KiB
73 lines
2.5 KiB
import random
|
|
|
|
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"""
|
|
self.mise = int(input("Saisissez une mise entre 0 et 100 exclu: "))
|
|
while not 100 > self.mise >= 0 or not self.mise <= self.argent: # tant que mise n'est pas compris entre 0-100 et >mise
|
|
print("Saisie incorect")
|
|
self.mise = int(input("Saisissez une mise entre 0 et 100 exclu: "))
|
|
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: # set() renvoie les nombres présents dans la liste
|
|
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"\nIl vous reste {self.argent} jetons, et il reste {self.bank} jetons dans le bac de la machine.\n")
|
|
|
|
|
|
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.
|
|
""")
|
|
|
|
|
|
def game():
|
|
regles()
|
|
machine = Machine_a_sous()
|
|
while machine.bank >= 500 and machine.mise != 0:
|
|
machine.saisie()
|
|
machine.nbAlea()
|
|
machine.gain()
|
|
machine.affiche()
|
|
|
|
|
|
game()
|
|
|
|
|
|
|
|
|