mini projet 1 sur une roulette en python
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.

74 lines
2.5 KiB

3 years ago
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):
3 years ago
if len(set(self.nombres)) == 1 and 9 in self.nombres: # set() renvoie les nombres présents dans la liste
3 years ago
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]}")
3 years ago
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()