J'ai un problème, j'ai créé un jeu de multiplication en Python en utilisant des fonctions mais lorsque je vérifie si l'utilisateur a assez de points pour changer de niveau, le compteur de points ne se remet pas à 0. Je suis débutant donc il est fort possible que l'erreur soit stupide, mais je ne comprends pas... Vous pouvez voir cela dans le tuteur Python, mais j'ai essayé d'ajouter "return compteur" mais cela ne fonctionne pas non plus...
Voici le code de la fonction :
def update (compteur) : global level if compteur == 20 : level+=1 print("Niveau",level-1,"terminé. Passage au niveau",level,"!") compteur = 0 return compteur
Et tout le code :
###############################################################################
# Importation de fonctions externes #
import random
###############################################################################
# Définitions locales de fonctions #
compteur=0
def calcul (max) :
'''
Cette fonction calcule une mutiplication avec des valeures aléatoires, elle
admet un seul paramètre :
- Maximum des valeures alétoires
Elle retourne le nombre saisi par l'utilisateur ainsi que le nombre calculé
par l'ordinateur.
'''
global compteur
global nb_user
global nb_result
valeur_1=random.randint(1, max)
valeur_2=random.randint(1, max)
nb_result=valeur_1*valeur_2
print(valeur_1,"*",valeur_2)
print("Debug =",nb_result,)
nb_user=int(input("Entrer votre réponse : \n"))
return nb_user
return nb_result
def verif (nb_user, nb_result) :
'''
Cette fonction vérifie si le résultat saisi par l'utilisateur est égale au
résultat attendu, elle admet donc deux paramètres :
- Nb_user
- Nb_result
Elle retourne l'indice de réussite.
'''
global compteur
if nb_user == nb_result :
compteur+=1
print("Bonne réponse !")
else :
compteur-=1
print("Mauvaise réponse !")
def update (compteur) :
global level
if compteur == 20 :
level+=1
print("Niveau",level-1,"terminé. Passage au niveau",level,"!")
compteur = 0
return compteur
###############################################################################
# Corps principal du programme
# Déclarations des variables
level=1
# Debut
print("Bienvenue dans le Jeu des multiplications !")
while level == 1 :
calcul(10)
print(compteur, level)
verif(nb_user, nb_result)
update(compteur)
while level == 2 :
calcul(20)
print(compteur, level)
verif(nb_user, nb_result)
update(compteur)
while level == 3 :
calcul(50)
verif(nb_user, nb_result)
update(compteur)
while level == 4 :
calcul(100)
verif(nb_user, nb_result)
update(compteur)
while level == 5 :
print("Bien joué ! Tu es venu à bout du jeu.")
Merci d'avance pour votre aide !