Programme jeu

Bonjour à tous,

Je fais un petit test de jeu mais je n’arrive pas à trouver comment continuer le jeu jusqu’à 10 lorsqu’on a fait une tentative gagnée ou perdue et garder les points gagnés en mémoire?

from random import randint
nom1 = input("donnes ton nom :")
#nom2 = input ("donnes ton nom :")
MaxTentative = 10
tentative = 0
compteur = 0
nombre1 = randint(1,6)
#nombre2 = randint(1,6)
#nombre3 = randint(1,6)
#sum = (nombre1*100+nombre2*10+nombre3)
#liste = (412,421,214,241,124,142)
liste = (1,2,3,4)

#print(sum)
print(nombre1) # pour test

choix = int(nombre1)
if choix not in liste:
    print("perdu :",nom1)
else:
    print("gagné :", nom1)
    compteur = compteur + 1
    print("tu as:",compteur,"points")

tentative = tentative + 1 #codes sorties du bloc
if tentative >= MaxTentative:
    print("partie terminée :",nom1, "tu as :", compteur,"points")
else:
    print("continuer")

print("tu as fait :", tentative,"tentative(s)")
print("il te reste : ", 10 - tentative,"tentative(s)")

Résultat :
Donnes ton prénom :Jean
4
gagné : Jean
tu as: 1 points
continuer
tu as fait : 1 tentative(s)
il te reste :  9 tentative(s)


Merci pour l’aide

1 réponse

  1. Salut,

    Tu n'y arriveras pas avec juste des if / else.

    Sur le principe, il faut que tu fasses une boucle de type while, ayant une condition de sortie du type "nbtentatives < nbmaxtentatives".
    0
    1. OK merci mais comment remonter à la ligne 7 avec un while <=10 : pour rejouer un tour jusqu ‘au maximun 10 ?.
      Je sais peut être question idiote mais vu mon âge 77 pas facile de tout assimiler très vite.
      0
    2. Pas de problème jeune homme,

      Mon conseil sera le suivant :

      Ajoute ceci à la toute fin de ton programme :

      max = 10
      compteur = 1
      
      while compteur <= max:
          compteur = compteur+1
          if compteur <= 5:
              print("c'est un petit compteur, il vaut : ", compteur)
          else:
              print("c'est un grand compteur, il vaut : ", compteur)
      
      print("Nous avons atteint ", compteur)
      


      Comme tu le vois, il y a une instruction "if" imbriquée dans l'instruction "while". Petit à petit si tu bricoles, tu arriveras peut-être à recréer ton programme au sein de cette boucle while.

      Bonne chance !
      0
    3. Salut,
      Merci pour ta réponse mais désolé le jeune homme n'y arrive pas (voir résultat)
      En fait je souhaite jouer coup par coup de 1 à 10 coups en ayant connaissance à chaque coup du nombre de coups joués, de points gagnés et ce qui me reste comme coups à jouer.
      Je me permets de te poser une autre question peut être aussi idiote!
      Avec le module turtle j'ai dessiné dans une fenêtre des formes géométriques. Est-il possible d'enregistrer ces fenêtres pour m'en servir par ex. en les copiant sur une feuille exel. ou pour joindre à un autre document.
      Merci

      from random import randint
      nom1 = input("donnes ton prénom :")

      tentative = 0
      nombre1 = randint(1,6)
      print(nombre1)# pour test

      liste = (1,2,3)

      choix = int(nombre1)
      if choix not in liste:
      print("perdu :",nom1)
      else:
      print("gagné :", nom1)
      compteur = compteur + 1
      print("tu as:",compteur,"points")

      tentative = tentative + 1
      print("tu as fait :", tentative,"tentative(s)")
      print("il te reste : ", 10 - tentative,"tentative(s)")

      max = 10
      compteur = 1

      while compteur <= max:
      compteur = compteur+1
      if compteur <= 5:
      print("c'est un petit compteur, il vaut : ", compteur)
      else:
      print("c'est un grand compteur, il vaut : ", compteur)

      print("Nous avons atteint ", compteur)
      # résultat:
      """
      donnes ton prénom :jean
      6
      perdu : jean
      tu as fait : 1 tentative(s)
      il te reste : 9 tentative(s)
      c'est un petit compteur, il vaut : 2
      c'est un petit compteur, il vaut : 3
      c'est un petit compteur, il vaut : 4
      c'est un petit compteur, il vaut : 5
      c'est un grand compteur, il vaut : 6
      c'est un grand compteur, il vaut : 7
      c'est un grand compteur, il vaut : 8
      c'est un grand compteur, il vaut : 9
      c'est un grand compteur, il vaut : 10
      c'est un grand compteur, il vaut : 11
      Nous avons atteint 11
      0