Pour servir de TP, il s'agit d'un jeu de roulette adapté code du ZCasino
https://openclassrooms.com/courses/apprenez-a-programmer-en-python/tp-tous-au-zcasino
Le but du jeu est de s'inspirer du code ZCasino, pour l'adapté en Linotte.
Vous pouvez aller consulter les règles du jeu sur le lien donnée plus haut, c'est un bon exercice à faire...
Tout en s'amusant un peu
Code du ZCasino :
Solution :
https://openclassrooms.com/courses/apprenez-a-programmer-en-python/tp-tous-au-zcasino
Le but du jeu est de s'inspirer du code ZCasino, pour l'adapté en Linotte.
Vous pouvez aller consulter les règles du jeu sur le lien donnée plus haut, c'est un bon exercice à faire...
Tout en s'amusant un peu
Code du ZCasino :
Code:
# Ce fichier abrite le code du ZCasino, un jeu de roulette adapté
import os
from random import randrange
from math import ceil
# Déclaration des variables de départ
argent = 1000 # On a 1000 $ au début du jeu
continuer_partie = True # Booléen qui est vrai tant qu'on doit
# continuer la partie
print("Vous vous installez à la table de roulette avec", argent, "$.")
while continuer_partie: # Tant qu'on doit continuer la partie
# on demande à l'utilisateur de saisir le nombre sur
# lequel il va miser
nombre_mise = -1
while nombre_mise < 0 or nombre_mise > 49:
nombre_mise = input("Tapez le nombre sur lequel vous voulez miser (entre 0 et 49) : ")
# On convertit le nombre misé
try:
nombre_mise = int(nombre_mise)
except ValueError:
print("Vous n'avez pas saisi de nombre")
nombre_mise = -1
continue
if nombre_mise < 0:
print("Ce nombre est négatif")
if nombre_mise > 49:
print("Ce nombre est supérieur à 49")
# À présent, on sélectionne la somme à miser sur le nombre
mise = 0
while mise <= 0 or mise > argent:
mise = input("Tapez le montant de votre mise : ")
# On convertit la mise
try:
mise = int(mise)
except ValueError:
print("Vous n'avez pas saisi de nombre")
mise = -1
continue
if mise <= 0:
print("La mise saisie est négative ou nulle.")
if mise > argent:
print("Vous ne pouvez miser autant, vous n'avez que", argent, "$")
# Le nombre misé et la mise ont été sélectionnés par
# l'utilisateur, on fait tourner la roulette
numero_gagnant = randrange(50)
print("La roulette tourne... ... et s'arrête sur le numéro", numero_gagnant)
# On établit le gain du joueur
if numero_gagnant == nombre_mise:
print("Félicitations ! Vous obtenez", mise * 3, "$ !")
argent += mise * 3
elif numero_gagnant % 2 == nombre_mise % 2: # ils sont de la même couleur
mise = ceil(mise * 0.5)
print("Vous avez misé sur la bonne couleur. Vous obtenez", mise, "$")
argent += mise
else:
print("Désolé l'ami, c'est pas pour cette fois. Vous perdez votre mise.")
argent -= mise
# On interrompt la partie si le joueur est ruiné
if argent <= 0:
print("Vous êtes ruiné ! C'est la fin de la partie.")
continuer_partie = False
else:
# On affiche l'argent du joueur
print("Vous avez à présent", argent, "$")
quitter = input("Souhaitez-vous quitter le casino (o/n) ? ")
if quitter == "o" or quitter == "O":
print("Vous quittez le casino avec vos gains.")
continuer_partie = False
# On met en pause le système (Windows)
os.system("pause")
Solution :
Code:
/*
Spécification : 2.6.1
Auteur : XP_Rico
Pour servir de TP, il s'agit d'un jeu de roulette adapté code du ZCasino
https://openclassrooms.com/courses/apprenez-a-programmer-en-python/tp-tous-au-zcasino
*/
globale
argent valant 1000 //On a 1000 € au début du jeu
principale :
continuer_partie est un drapeau valant faux
nombre_misé est un nombre
mise est un nombre
numero_gagnant est un nombre
sortie est un texte valant "
Souhaitez-vous rejouer au casino (o/n) ? "
joueur est un texte valant ""
début
Affiche "Vous vous installez à la table de roulette avec "+ argent +"€."
tant que continuer_partie = faux, lis
Affiche "
Tapez le nombre sur lequel vous voulez miser (entre 0 et 49) : "
Demande nombre_misé
Si nombre_misé > 49, affiche "C'est trop !"
Sinon si nombre_misé < 0, affiche "C'est un nombre négatif !?"
sinon continuer_partie prend vrai
ferme
tant que continuer_partie = vrai, lis
Affiche "
Tapez le montant de la mise : "
Demande mise
si mise <= 0, affiche "La mise saisie est négative ou nulle."
si mise > argent, affiche "Vous ne pouvez pas miser autant, car vous n'avez que " + argent + "€ en Banque"
sinon continuer_partie = faux
ferme
numero_gagnant = hasard(50)
Affiche "
La roulette tourne... ... et s'arrête sur le numéro : " + numero_gagnant
si numero_gagnant == nombre_misé, lis
affiche "
Félicitations ! Vous obtenez " + mise * 3 + "€ !"
argent prend argent + mise * 3
Affiche "
Vous avez maintenant " + argent + "€ en Banque"
ferme
sinon lis
affiche "
Désolé l'ami, c'est pas pour cette fois. Vous perdez votre mise."
argent prend argent - mise
Affiche "
Vous avez maintenant " + argent + "€ en Banque"
ferme
questionne joueur sur sortie
si (joueur == "n") ou (joueur == "N"), affiche "Vous quittez le casino avec votre argent."
si (joueur == "o") ou (joueur == "O"), va vers Principale