Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Petit problème avec la programmation d'un jeu "question/réponse"


Invité leblogueur

Messages recommandés

Invité leblogueur

Bonjour,
j'ai un petit problème au niveaux d'un programme question/réponse et je ne trouve pas la solution!! quand je l'execute la fenètre s'ouvre mais quand je répond a la première question la fenêtre ce ferment

#!/usr/bin/python
# -*- coding: <encoding name> -*-
l = [["""començons ce petit jeu. 1. veut tu te lancer dans cet aventure 2. ou veut tu arreter""",1, 2, ],
     ["""yes allons y! ok maintenant tu doit trouver un trésortu  arrive devant le chateu tu veut 
    1. ouvrir la porte
    2. non tu abandonne""", 3, 4],
     ["au revoir"],
     ["""cool, voila tu est dans le chateu mais des brigan t'attaque 
     1. tu prend un couteau quie st dans un coin
     2. tu prend l' épée sur une viellle armure a l'autre bout de la pièce
     3. tu prend la fuite""", 5, 6, 7],
     ["au revoir"],
     ["""bien joué tu à réussi a passé à la pièce suivante
     1. tu continu dans le salon
     2. tu repart cette endroit te donne la chaire de poule brrr""", 8, 9],
     ["""oh non tu t'est fait capturée parce tu n'a pas eu le temps d'aller chercher l'épée  mais tu n'as pas perdu
     1. tu reste calme et tu fait connaissance avec ces barbare
     2. tu par en sciant tes liens""", 10, 11],
      ["""te voila dans le salon cette pièce est très rustique plusieurs option s'offrent a toi
     1. tu continu tout droit et tu vas dans la salle de baine
     2. tu prend la porte dérobée que tu a observer plus tot""",12, 13],
     ["au revoir recommence"],
     ["""te voila avec ces barbare qui s'avèrebnt être de pauvre paysan alerter par l'orage qui sont venue se réfugier dans ce chateau pour la nuit
     1.tu les suit et rentre dans leur village
     2.tu les laisse et il te donne une épée""",14, 15],
    ["""tu t'enfuis et tu tombe dans un piège dommage reccomence"""],
    ["""mince te voici coincé dommage recommence"""],
    ["""te voila dans une petite pièce sombre et un couloir ce présente devant toi 
     1. tu continu tout droit pour contiuner dans ce sombre couloir
     2. tu prend la porte dérobée que tu a pris plus tot""",16, 17],
     ["""aurevoir passe une bonne vie dans ce village"""],
     ["""te voila dans le salon cette pièce est très rustique plusieurs option s'offrent a toi
     1. tu continue tout droit et tu vas dans la salle de baine
     2. tu prend la porte dérobée que tu a observer plus tot""",12, 13],
     ["""tu rencontre un hermite que fait tu?
     1. tu continu tout droit sans faire attention a lui
     2. tu t'arrète""",18, 19],
     ["""te voila devant une porte que fait tu?
     1. tu l'ouvre et rentre dans cet pièce
     2. tu rebrousse chemin""",20, 21],
     ["""dommage l'hermite était un piège il t'empoisonne reccomence"""],
     ["""tu découvre le trésor tu a gagné"""],
     ["""dommage le trésors t'attendait derrière cette porte recommence"""]],
indice = 0
q = True
 
while q:
    q = input(l[indice][0])
    if q == "1":
        indice = l[indice][1]
    elif q == "2":
        indice = l[indice][2]
    elif q == "3":
        indice = l[indice][3]

 

Lien à poster
Partager sur d’autres sites
  • Tonton changed the title to Petit problème avec la programmation d'un jeu "question/réponse"

Bordel, il faut vraiment que je me remette au Python moi, je suis plus que rouillé :outch:

Je ne sais pas quel éditeur de code tu utilises, mais sous Visual Studio Code, au moment de l’exécution

TypeError: tuple indices must be integers or slices, not list

En fait il y a une virgule après le dernier crochet de ta liste qui fout le bordel, comme si il y avait un élément qui suivait alors que non, du coup au lieu de récupérer juste l'indice dans ta variable indice, tu récupères tout ce qu'il y a entre tes crochets, texte, indices...

Pour détecter tes erreurs, n'hésite pas à user et abuser de la fonction print pour voir ce que contiennent tes variables, un print(indice) aurait pu te mettre sur la piste ;)
Et si ton jeu est destiné à être diffusé, ce que je suppose, pense à bien te relire, si un certain modérateur tombe sur tes textes, il risque de tomber de sa chaise et de louper l'heure du midnight :D

Modifié par nthor
Lien à poster
Partager sur d’autres sites

Bonjour,

En réponse pour votre jeu je vous propose ceci:

#!/usr/bin/python
# -*- coding: utf8 -*-
l = [["""començons ce petit jeu. 1. veut tu te lancer dans cet aventure 2. ou veux tu arreter """,1, 2 ],
     ["""yes allons y! ok maintenant tu doit trouver un trésortu  arrive devant le chateu tu veut 
    1. ouvrir la porte
    2. non tu abandonne """, 3, 4 ],
     ["au revoir"],
     ["""cool, voila tu es dans le chateau mais des brigands t'attaquent 
     1. tu prends un couteau qui est dans un coin
     2. tu prends l'épée sur une viellle armure a l'autre bout de la pièce
     3. tu prends la fuite """, 5, 6, 7 ],
     ["au revoir"],
     ["""bien joué tu as réussi a passé à la pièce suivante
     1. tu continu dans le salon
     2. tu repart cette endroit te donne la chaire de poule brrr """, 8, 9 ],
     ["""oh non tu t'est fait capturée parce tu n'a pas eu le temps d'aller chercher l'épée  mais tu n'as pas perdu
     1. tu reste calme et tu fait connaissance avec ces barbare
     2. tu par en sciant tes liens """, 10, 11 ],
      ["""te voila dans le salon cette pièce est très rustique plusieurs option s'offrent a toi
     1. tu continu tout droit et tu vas dans la salle de baine
     2. tu prend la porte dérobée que tu a observer plus tot """,12, 13 ],
     ["au revoir recommence"],
     ["""te voila avec ces barbare qui s'avèrebnt être de pauvre paysan alerter par l'orage qui sont venue se réfugier dans ce chateau pour la nuit
     1.tu les suit et rentre dans leur village
     2.tu les laisse et il te donne une épée """,14, 15 ],
    ["""tu t'enfuis et tu tombe dans un piège dommage reccomence"""],
    ["""mince te voici coincé dommage recommence"""],
    ["""te voila dans une petite pièce sombre et un couloir ce présente devant toi 
     1. tu continu tout droit pour contiuner dans ce sombre couloir
     2. tu prend la porte dérobée que tu a pris plus tot """, 16, 17 ],
     ["""aurevoir passe une bonne vie dans ce village"""],
     ["""te voila dans le salon cette pièce est très rustique plusieurs option s'offrent a toi
     1. tu continue tout droit et tu vas dans la salle de baine
     2. tu prend la porte dérobée que tu a observer plus tot """,12, 13 ],
     ["""tu rencontre un hermite que fait tu?
     1. tu continu tout droit sans faire attention a lui
     2. tu t'arrète""", 18, 19 ],
     ["""te voila devant une porte que fait tu?
     1. tu l'ouvre et rentre dans cet pièce
     2. tu rebrousse chemin""", 20, 21 ],
     ["""dommage l'hermite était un piège il t'empoisonne recommence"""],
     ["""tu découvre le trésor tu a gagné"""],
     ["""dommage le trésors t'attendait derrière cette porte recommence"""]]
indice = 0
q = 1

while True:
  saved_indice = indice
  q = input(l[indice][0])
  if len(l[indice])-1 < q:
    q = saved_indice
    print("Reponse en dehors des choix, retente !\n")
  else:
    indice = l[indice][q]
  if len(l[indice]) < 2:
    print(l[indice][0])
    break

Amusez-vous bien ! :D

Voilà ... :)

Modifié par Kana-chan
Lien à poster
Partager sur d’autres sites

Je plussoie l'utilisation du "len", je pensais en parler si il repointait son nez ici. 

Et histoire de chipoter, j'aurais plutôt mis "while True" Pour la boucle infinie que je trouve plus élégant et on ne sait jamais si il a beaucoup de choix de réponse :D

Modifié par nthor
Lien à poster
Partager sur d’autres sites

Bonjour à tou[te]s,

Au cas où leblogueur repasserait par ici, je lui proposerai une relecture de ses questions/réponses qui puisse lui permettre de briller en société... :wink:

Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...