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/12 22:14] – modification externe 127.0.0.1reference:texte:conditions [2026/06/16 21:50] (Version actuelle) – modification externe 127.0.0.1
Ligne 4: Ligne 4:
 Celles-ci s'écrivent entre crochets. Celles-ci s'écrivent entre crochets.
  
-===== [1ère fois] [fin choix] ===== +===== [1ère fois] [fin] ===== 
-===== [1ère fois], [2e fois], [3e fois], ... [puis] [fin choix] ===== +===== [1ère fois], [2e fois], [3e fois], ... [puis] [fin] ===== 
-===== [1ère fois], [5e fois], ... [sinon] [fin choix] =====+===== [1ère fois], [5e fois], ... [sinon] [fin] =====
 Cette balise permet par exemple de n'afficher une partie de la description que la première fois que la description est affichée. Cette balise permet par exemple de n'afficher une partie de la description que la première fois que la description est affichée.
  
 Exemples : Exemples :
 <code donjon> <code donjon>
-dire "« [1ère fois]C’est la première fois que je vous vois ici ! [fin choix]Que puis-je faire pour vous ? »". +dire "« [1ère fois]C’est la première fois que je vous vois ici ! [fin]Que puis-je faire pour vous ? »". 
-dire "Le villageois vous regarde d'un air mauvais : « [1ère fois]Je suis très occupé.[2e fois]Vous me dérangez.[puis]C'est pas bientôt fini ?![fin choix] »". +dire "Le villageois vous regarde d'un air mauvais : « [1ère fois]Je suis très occupé.[2e fois]Vous me dérangez.[puis]C'est pas bientôt fini ?![fin] »". 
-dire "[3e fois]Vous découvrez une magnifique fleur multicolore.[sinon]Aucune trace de la fleur éphémère.[fin choix]".+dire "[3e fois]Vous découvrez une magnifique fleur multicolore.[sinon]Aucune trace de la fleur éphémère.[fin]".
 </code> </code>
  
-===== [au hasard], [ou], [ou], ... [fin choix] =====+<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] =====
  
 Cette balise permet d'afficher un texte au hasard parmis plusieurs propositions. Cette balise permet d'afficher un texte au hasard parmis plusieurs propositions.
Ligne 22: Ligne 37:
 Exemple : Exemple :
 <code donjon> <code donjon>
-dire "[au hasard]Vous atteignez la lucarne avec la bille, ça fait << poc >> puis la bille retombe.[ou]Raté.[ou]Bien essayé.[fin choix]".+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>
  
-===== [en boucle], [puis], [puis], ... [fin choix] =====+<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] =====
  
 Cette balise permet d'afficher plusieurs textes différents dans un ordre prédéfini. Une fois que la fin de la liste est atteinte, le premier texte est à nouveau appelé. Cette balise permet d'afficher plusieurs textes différents dans un ordre prédéfini. Une fois que la fin de la liste est atteinte, le premier texte est à nouveau appelé.
Ligne 31: Ligne 61:
 Exemple : Exemple :
 <code donjon> <code donjon>
-dire "Vous savez quoi ? [en boucle]Mon ventre gargouille ![puis]Je mangerais bien ![puis]J'ai faim ![fin choix]".+dire "Vous savez quoi ? [en boucle]Mon ventre gargouille ![puis]Je mangerais bien ![puis]J'ai faim ![fin]".
 </code> </code>
  
-===== [initialement] [fin choix] ===== +===== [initialement] [fin] ===== 
-===== [initialement] [puis] [fin choix] =====+===== [initialement] [puis] [fin] =====
  
-Cette balise permet de n'afficher une partie de la description d'un objet que si celui-ci est ''intact''. C'est à dire s'il n'a pas encore été déplacé ou modifié par le joueur.+Cette balise permet de n'afficher une partie de la description d'un objet que si celui-ci est ''intact''. C'est-à-dire s'il n'a pas encore été déplacé ou modifié par le joueur.
  
 Exemple : Exemple :
 <code donjon> <code donjon>
-son aperçu est "[initialement]Il y a un morceau de papier coincé entre le coussin et l'accoudoir.[puis]Il y a un morceau de papier.[fin choix]".+son aperçu est "[initialement]Il y a un morceau de papier coincé entre le coussin et l'accoudoir.[puis]Il y a un morceau de papier.[fin]".
 </code> </code>
  
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.1728764090.txt.gz · Dernière modification : de 127.0.0.1