====== Choisir (question au joueur) ======
//Cette instruction de contrôle permet au joueur de faire un choix soit libre soit parmi une liste de propositions.
En fonction du choix du joueur, les instructions exécutées seront différentes.//
Il est possible d’imbriquer plusieurs instructions choisir pour enchaîner plusieurs questions.
===== Choix prédéfinis (questions à choix multiples) =====
==== Exemple simple ====
-- poser une question avant de commencer le jeu
règle avant commencer le jeu:
dire "Ça va être difficile de ne pas mourir...".
choisir:
choix "Même pas peur":
dire "Super ! On y va !".
choix "Ok je ferai attention.":
dire "Bonne idée ! Commençons la partie.".
fin choisir
fin règle
Remarque : //Un même choix ne peut contenir qu'une proposition : le ''ou'' n'est actuellement pas supporté pour les choix prédéfinis.//\\
Il est en revanche possible d’utiliser une [[reference:routines:simple|routine]] afin de ne pas avoir à écrire 2 fois le même contenu si vous voulez que 2 choix déclenchent le même bloc d’instructions.
==== Exemple complet ====
Cet exemple montre comment réaliser des enchaînements de choix :
[[djnb>ex_choix_sage| exemple complet à tester]]
==== Exemple simple à tester ====
La taverne est un lieu.
action commander:
dire "Que voulez-vous boire ?".
choisir:
choix "De l’eau":
dire "Vous buvez de l’eau fraîche.".
choix "Une bière":
dire "Vous savourez une bière locale.".
choix "Rien, merci":
dire "Vous restez sobre.".
fin choisir
fin action
règle avant commencer le jeu:
dire "Essayez : {/commander/}.".
fin règle
[[djnc>wiki_instructions_choisir|tester cet exemple]]
==== Choix conditionnels ====
Il est possible de n’afficher certains choix que si une condition est remplie : concrètement, si le résultat d’un texte dynamique est une chaîne de caractères vide (rien n’est affiché), le choix n’est pas affiché au joueur.
La salle de gym est un lieu.
action tester:
choisir:
choix "[1ère fois]C’est parti[fin]":
dire "Go go go".
choix "Toujours chaud !":
dire "On continue !".
choix "[si le joueur est fatigué]Je n’en peux plus ![fin]":
dire "On se repose !".
fin choisir
fin action
action fatiguer:
changer le joueur est fatigué.
dire "Ça fatigue !".
fin action
===== Choix libre =====
==== Exemples simples ====
La salle est un lieu.
action deviner la ville:
dire "Une ville ?".
choisir librement:
choix "Paris" ou "Tokyo":
dire "Je connais mais c'est pas ça !".
choix "Bruxelles":
dire "Gagné c'était bien Bruxelles!".
autre choix:
dire "Je ne connais pas [intitulé réponse].".
fin choisir
fin action
action deviner le nombre:
dire "Un nombre entre 1 et 10 ?";
choisir librement:
choix "1", "2" ou "3":
dire "Trop petit !".
choix "7":
dire "Gagné !".
choix "9" ou "10":
dire "C'est trop !".
autre choix:
dire "Et non!".
fin choisir
fin action
La ville est un objet.
Le nombre est un objet.
==== Exemple à tester ====
Avec ''autre choix'', la réponse libre du joueur reste disponible : en texte via la balise ''%%[intitulé réponse]%%'', et en condition via le sujet spécial ''la réponse'' :
La taverne est un lieu.
action commander:
dire "Que souhaitez-vous boire ?".
choisir librement:
choix "limonade":
dire "Une limonade bien fraîche, voilà !".
autre choix:
si la réponse commence par "café":
dire "Le percolateur est en panne, désolé.".
sinonsi la réponse termine par "ade":
dire "Une [intitulé réponse] ? Voilà !".
sinon
dire "Je ne connais pas la boisson « [intitulé réponse] ».".
fin si
fin choisir
fin action
règle avant commencer le jeu:
dire "Essayez : {/commander/}.".
fin règle
[[djnc>wiki_conditions_reponse_libre|tester cet exemple]]
===== Tester la réponse dans une condition =====
Après un ''choisir'' (prédéfini ou libre), le sujet spécial ''la réponse'' permet d’aiguiller la suite :
si la réponse est "limonade", dire "Bon choix !".
si la réponse commence par "café", dire "Le percolateur est en panne.".
si la réponse termine par "ade", dire "Une boisson fruitée !".
Voir [[reference:instructions:controle:si:verbes:commencer_terminer|commencer par / terminer par]] et les [[reference:instructions:controle:si:start#sujets_speciaux|sujets spéciaux des conditions]].
===== Voir aussi =====
* [[reference:instructions:controle:si:start|Si (condition)]] — la syntaxe générale des conditions.
* [[reference:texte:balises_dynamiques|Balises dynamiques]] — la cible spéciale ''réponse''.
* [[reference:divers:configurations|Configurations]] — ''activer choix numériques'' pour numéroter les options.
{{tag>choisir choix question réponse reponse choix_libre choix_multiple choix_conditionnel proposition propositions controle contrôle structure interaction}}