Doc Donjon FI (v3)

Éditeur de fictions interactives avec interpréteur

Outils pour utilisateurs

Outils du site


reference:texte:conditions

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
reference:texte:conditions [2024/10/13 15:36] – [[initialement] [puis] [fin]] jonathanreference:texte:conditions [2026/06/16 21:50] (Version actuelle) – modification externe 127.0.0.1
Ligne 15: Ligne 15:
 dire "[3e fois]Vous découvrez une magnifique fleur multicolore.[sinon]Aucune trace de la fleur éphémère.[fin]". dire "[3e fois]Vous découvrez une magnifique fleur multicolore.[sinon]Aucune trace de la fleur éphémère.[fin]".
 </code> </code>
 +
 +<file donjon wiki_texte_xe_fois>
 +La taverne est un lieu.
 +Le villageois est une personne ici.
 +
 +règle après parler au villageois:
 +  dire "Le villageois : « [1ère fois]Je suis très occupé.[2e fois]Vous me dérangez.[puis]C'est pas bientôt fini ?![fin] »".
 +fin règle
 +
 +règle avant commencer le jeu:
 +  dire "Essayez : {/parler au villageois/} plusieurs fois.".
 +fin règle
 +</file>
 +
 +[[djnc>wiki_texte_xe_fois|tester cet exemple]]
  
 ===== [au hasard], [ou], [ou], ... [fin] ===== ===== [au hasard], [ou], [ou], ... [fin] =====
Ligne 24: Ligne 39:
 dire "[au hasard]Vous atteignez la lucarne avec la bille, ça fait << poc >> puis la bille retombe.[ou]Raté.[ou]Bien essayé.[fin]". dire "[au hasard]Vous atteignez la lucarne avec la bille, ça fait << poc >> puis la bille retombe.[ou]Raté.[ou]Bien essayé.[fin]".
 </code> </code>
 +
 +<file donjon wiki_texte_au_hasard>
 +Le terrain de jeu est un lieu.
 +La bille est un objet dans l'inventaire.
 +
 +action jeter ceci:
 +  dire "[au hasard]Vous atteignez la lucarne, ça fait « poc » puis la bille retombe.[ou]Raté.[ou]Bien essayé.[fin choix]".
 +fin action
 +
 +règle avant commencer le jeu:
 +  dire "Essayez : {/jeter la bille/} plusieurs fois.".
 +fin règle
 +</file>
 +
 +[[djnc>wiki_texte_au_hasard|tester cet exemple]]
  
 ===== [en boucle], [puis], [puis], ... [fin] ===== ===== [en boucle], [puis], [puis], ... [fin] =====
Ligne 51: Ligne 81:
 Cette balise permet de tester des condition. Cette balise permet de tester des condition.
  
-=> Veuillez vous référer à la section [[creer:conditions:start|conditions]]+=> Veuillez vous référer à la section [[reference:instructions:controle:si:start|]]
  
 Exemples : Exemples :
Ligne 59: Ligne 89:
 </code> </code>
  
 +===== Imbrication =====
 +
 +Tous les blocs ci-dessus (''%%[si …]%%'', ''%%[1ère fois]%%'', ''%%[au hasard]%%'', ''%%[en boucle]%%'', ''%%[initialement]%%'') peuvent être imbriqués les uns dans les autres. Chaque ''[fin]'' (ou ''[fin si]'' / ''[fin choix]'') ferme uniquement le bloc le plus interne — le bloc englobant reste ouvert jusqu’à son propre ''[fin]''.
 +
 +<code donjon>
 +-- si dans si
 +dire "[si X est Y]ouiX [si Z est T]ouiZ[sinon]nonZ[fin si][sinon]nonX[fin si]".
 +
 +-- au hasard contenant un si
 +dire "[au hasard]choix 1[ou][si Z est T]ouiZ[sinon]nonZ[fin si][ou]choix 3[fin choix]".
 +
 +-- si contenant un Xe fois
 +dire "[si X est Y][1ère fois]premier passage[puis]passages suivants[fin][sinon]hors-condition[fin si]".
 +</code>
 +
 +Le contenu d’un bloc imbriqué n’est rendu que si **toutes** les conditions englobantes sont elles-mêmes satisfaites.
 +
 +===== Exemple complet =====
 +
 +Un PNJ qui salue, plaisante et gronde — avec variations selon le nombre de fois (''%%[1ère fois][2e fois][puis]%%''), au hasard, en boucle, et un ''%%[si]%%'' imbriqué dans un bloc aléatoire.
 +
 +<file donjon ex_texte_messages>
 +-- "Informations sur le jeu".
 +Le titre du jeu est "Le marchand bavard".
 +L’auteur du jeu est "DonjonFI".
 +
 +La place du village est un lieu.
 +Sa description est "Une petite place pavée. Un marchand y a installé son étal.[initialement] Une fontaine murmure au centre.[fin]".
 +
 +Le vieux marchand est une personne décorative dans la place du village.
 +L’étal du marchand est un support fixé dans la place du village.
 +La pomme rouge est un objet sur l’étal du marchand.
 +
 +action saluer ceci:
 +  définition:
 +    ceci est un objet visible.
 +  phase prérequis:
 +    si ceci n’est pas une personne:
 +      refuser "Vous ne saluez pas [intitulé ceci].".
 +    fin si
 +  phase épilogue:
 +    dire "[1ère fois]{+Le marchand vous lance un grand << Bonjour ! >>+}[2e fois]Le marchand vous resalue d’un signe.[puis]Le marchand vous fait un clin d’œil.[fin]".
 +fin action
 +
 +action plaisanter:
 +  phase épilogue:
 +    dire "Le marchand vous raconte une blague :{n}[au hasard]{/<< Pourquoi les plombs sautent ? Parce qu’ils ont peur du courant. >>/}[ou]{/<< Combien faut-il d’elfes pour visser une ampoule ? Aucun, c’est magique. >>/}[fin choix]".
 +fin action
 +
 +action demander conseil:
 +  phase épilogue:
 +    dire "Le marchand réfléchit :{n}[au hasard]<< Allez voir la fontaine. >>[ou][si la pomme rouge est intacte]<< Prenez donc une pomme. >>[sinon]<< Mes pommes sont parties. >>[fin si][ou]<< Je n’ai pas d’avis. >>[fin choix]".
 +fin action
 +
 +Le joueur est dans la place du village.
 +</file>
 +[[djnc>wiki_texte_messages_aleatoires|tester cet exemple]]
 +
 +À tester :
 +
 +  * ''saluer le marchand'' trois fois — texte différent à chaque fois
 +  * ''plaisanter'' plusieurs fois — blague au hasard
 +  * ''demander conseil'' plusieurs fois — variante aléatoire avec ''%%[si]%%'' imbriqué
 +
 +===== Voir aussi =====
 +
 +  * [[reference:texte:balises_dynamiques|Balises dynamiques]] — ''%%[intitulé X]%%'', mentions, accord
 +  * [[reference:texte:mise_en_forme|Mise en forme]] — gras, italique, couleurs, sauts de ligne
 +  * [[reference:instructions:controle:si:start|Conditions « si »]] — utilisées hors des chaînes
 +  * [[reference:instructions:dire|Instruction « dire »]]
 +
 +{{tag>condition conditions si sinon sinonsi au_hasard hasard aleatoire aléatoire premiere_fois première_fois en_boucle boucle initialement bloc blocs texte texte_dynamique imbrication}}
  
reference/texte/conditions.1728826591.txt.gz · Dernière modification : de jonathan