Jeu de la roulette

Bonjour,
je ne comprend pas ou est mon erreur, ou plûtot comment je peux la rectifier, le terminal me dit toujours que j'ai un probleme avec mes variables...pourriez-vous m'aider ?

import random

# Toutes les variables
sStart = 1000 
mise = 0
nChoix = 0
nWin = random.randint(0,49)

def start(): # Fonction argent
    sStart
    print("Votre somme d'argent s'élève à "+str(sStart)+"$")

def miser(): # Fonction mise
    mise = int(input("Saisissez votre mise :\n")) # Variable de la mise
    if mise <= 0 or mise > sStart:
        print("désolé mais vous ne pouvez pas miser cette somme...veuillez resaisir une mise")
        miser()

def nChoisi(): # Fonction nombre choisi
    nChoix = int(input("Choisissez un nombre entre 0 et 49\n")) # Variable nombre chosisi    
    if nChoix<0 or nChoix>49:
        print("Ce numéro ne se trouve pas entre 0 et 49")
        nChoisi()

def nWinner():
    nWin
    print(nWin,"est le numéro gagnant !")

def result():
    if nChoix==nWin:
        sStart += mise*3
        print("Les deux numéros sont identiques !!!")
    elif (nChoix%2 == 0 and nWin%2 == 0) or (nChoix%2 != 0 and nWin%2 != 0):
        sStart += mise*0.5
        print("Les deux numéros sont de même couleur !")

    else:
        sStart -= mise
        print("C'est perdu...")

while sStart>0:

    print(start())

    print(miser())
    
    print(nChoisi())

    print(nWinner())

    print(result())


print("GAME OVER...tu as perdu tout ton argent...")
exit()

3 réponses

  1. Bonjour Ayico,

    Problème avec la variable sStart ...

    Encore un truc de portée des variables hors et à l'intérieur les fonctions :-)

    De plus, je pense que la variable nWin à toujours la même valeur à chaque tour de boucle ... (la valeur initiale)

    Et pourquoi fais tu un print des fonctions dans la boucle while au lieu de les appeler tout simplement ?

    start()
    miser()
    etc .....