====== Balises dynamiques ====== À l’intérieur d’une chaîne ''"…"'' (description, aperçu, argument de ''dire'', …), vous pouvez insérer des **balises** entre crochets droits ''[…]''. Le moteur les remplace par la valeur correspondante au moment de l’affichage. Cette page liste les balises disponibles. Pour les **conditions** (''%%[si …]%%''), les **blocs aléatoires** (''%%[au hasard]%%'') et les variations selon l’occurrence (''%%[1ère fois]%%''), voir [[reference:texte:conditions|Conditions et blocs textuels]]. Pour les **verbes conjugués** (''%%[v être ipr ceci]%%''), voir [[reference:texte:conjugaison|Verbes conjugués]]. ===== Intitulé d’un élément ===== ==== [intitulé X] / [Intitulé X] ==== Affiche le nom de ''X'' précédé de son article défini (''le'', ''la'', ''l’'', ''les''). dire "Vous voyez [intitulé ceci].". -- → "Vous voyez la pomme rouge." dire "[Intitulé ceci] brille faiblement.". -- → "La pomme rouge brille faiblement." (majuscule forcée) ===== Pronoms et articles ===== ==== [pronom X] / [Pronom X] ==== Pronom ''il'' / ''elle'' / ''ils'' / ''elles'' selon le genre et le nombre de ''X''. dire "[Pronom ceci] [v être ipr ceci] solide.". -- → "Il est solide." ou "Elles sont solides." ℹ️ ''%%[il X]%%'' / ''%%[Il X]%%'' sont des alias acceptés : ''%%[Il la pomme]%%'' → « Elle ». ==== [le X] / [l’ X] ==== Pronom complément ''le'' / ''la'' / ''l’'' / ''les''. dire "Je ne [le ceci] vois pas actuellement.". -- → "Je ne le vois pas actuellement." dire "Je [l’ ceci]ai bu[es ceci].". -- → "Je l’ai bue." (féminin singulier) -- → "Je les ai bues." (féminin pluriel) ''%%[l’ X]%%'' force l’élision (''l’'' ou ''les''). ''%%[le X]%%'' choisit la forme appropriée (''le'' / ''la'' / ''l’'' / ''les''). ==== [lui X] ==== Pronom tonique ''lui'' / ''elle'' / ''eux'' / ''elles'' selon le genre et le nombre de ''X''. dire "Vous ne partirez pas sans [lui ceci].". -- → "Vous ne partirez pas sans elle." (la pomme) -- → "Vous ne partirez pas sans eux." (les outils) ==== [Cest X] / [cest X] ==== Démonstratif accordé au nombre : ''C’est'' au singulier, ''Ce sont'' au pluriel (ou quand la quantité de ''X'' dépasse un). ''%%[cest X]%%'' donne la version en minuscule. dire "[Cest ceci] une bonne prise !". -- → "C’est une bonne prise !" (la pomme) -- → "Ce sont une bonne prise !" (les cerises) ==== [Singulier X] / [Pluriel X] ==== Intitulé de ''X'' forcé au singulier ou au pluriel, quel que soit son nombre réel. Les variantes ''%%[singulier X]%%'' et ''%%[pluriel X]%%'' donnent la minuscule. dire "Au singulier : [Singulier ceci] — au pluriel : [Pluriel ceci].". -- → "Au singulier : Une cerise — au pluriel : Les cerises." ==== [quantité X] ==== Quantité de ''X'' : ''1'' pour un objet simple, le compte pour un objet [[reference:definitions:ressources|quantifiable]], ''-1'' pour une quantité illimitée (objet déclaré au pluriel). ==== Exemple complet (pronoms et accords) ==== Le verger est un lieu. La pomme est un objet mangeable dans le verger. Les cerises (f) sont un objet dans le verger. règle après prendre la pomme: dire "[Cest ceci] dans le panier ! Vous ne partirez pas sans [lui ceci].". dire "Au singulier : [Singulier ceci] — au pluriel : [Pluriel ceci] — quantité : [quantité ceci].". fin règle règle après prendre les cerises: dire "[Cest ceci] dans le panier ! Vous ne partirez pas sans [lui ceci].". dire "Au singulier : [Singulier ceci] — au pluriel : [Pluriel ceci] — quantité : [quantité ceci].". fin règle règle avant commencer le jeu: dire "Essayez : {/prendre la pomme/} puis {/prendre les cerises/}.". fin règle [[djnc>wiki_texte_pronoms_accords|tester cet exemple]] ⚠️ Pour qu’un objet déclaré au pluriel s’accorde au féminin, ajoutez le marqueur ''(f)'' après son nom (''Les cerises (f) sont un objet…'') — sans ce marqueur, les balises rendent le masculin (''eux'', ''ils''). ===== Accord en genre et en nombre ===== ==== [s X] ==== Ajoute un ''s'' si ''X'' est au pluriel. dire "Vous prenez [intitulé ceci]. [Pronom ceci] [v être ipr ceci] léger[s ceci].". -- → "Vous prenez le caillou. Il est léger." -- → "Vous prenez les cailloux. Ils sont légers." ==== [es X] ==== Ajoute ''e'' / ''s'' / ''es'' selon le genre **et** le nombre de ''X''. dire "[Intitulé ceci] [v être ipr ceci] verrouillé[es ceci].". -- → "Le coffre est verrouillé." (masc. sing. : rien) -- → "La porte est verrouillée." (fém. sing. : "e") -- → "Les coffres sont verrouillés." (masc. plur. : "s") -- → "Les portes sont verrouillées." (fém. plur. : "es") ==== [e X] ==== Ajoute uniquement le ''e'' du féminin, **sans** ''s'' au pluriel. Utile pour un adjectif qui ne s’accorde qu’en genre, ou quand le sujet est toujours singulier (le joueur). dire "Vous êtes prêt[e le joueur] !". -- → "Vous êtes prêt !" (joueur masculin) -- → "Vous êtes prête !" (joueur féminin) ==== [accord X] ==== Synonyme de ''%%[es X]%%'' : ajoute ''e'' au féminin **et** ''s'' au pluriel. dire "[Intitulé ceci] [v être ipr ceci] fermé[accord ceci].". -- → "La porte est fermée." (fém. sing.) -- → "Les portes sont fermées." (fém. plur.) ℹ️ Pour n’accorder **qu’en genre** (sans le ''s'' du pluriel), utilisez ''%%[e X]%%''. ''%%[accord X]%%'' et ''%%[es X]%%'' accordent en genre **et** en nombre. L'atelier est un lieu. La porte est une porte ici. Le coffre est un contenant ici. Les fioles sont des objets ici. action examiner ceci: dire "[Intitulé ceci] [v être ipr ceci] verrouillé[es ceci].". fin action règle avant commencer le jeu: dire "Essayez : {/examiner la porte/}, {/examiner le coffre/}, {/examiner les fioles/}.". fin règle [[djnc>wiki_texte_accord_intitule|tester cet exemple]] ===== Cibles spéciales ===== Les balises de cette page qui prennent une cible ''X'' (intitulé, pronoms, accords…) acceptent les **cibles spéciales** suivantes, ou directement le **nom d’un élément du jeu** (''%%[lui pomme]%%'', ''%%[Cest cerises]%%'', ''%%[le balai]%%''…) : ^ Cible ^ Désigne ^ | ''ceci'' / ''cela'' | les éléments visés par l’action en cours (action, règle, réaction) | | ''ici'' | le lieu courant | | ''origine'' | le lieu quitté lors du déplacement du joueur en cours | | ''destination'' | le lieu atteint lors de ce déplacement | | ''orientation'' | la direction de ce déplacement | | ''réponse'' | la réponse donnée par le joueur à la question en cours | ''origine'', ''destination'' et ''orientation'' sont remplies pendant un déplacement du joueur — typiquement dans une règle avant/après ''aller''. ℹ️ Avec un élément nommé, la cible est résolue sur le nom déclaré de l’élément (''%%[lui pomme]%%'' → //elle//). Si aucun élément ne correspond, la balise est laissée telle quelle. ==== [ceci] / [cela] ==== Utilisées seules, ces balises insèrent l’intitulé brut de la cible, avec son article indéfini le cas échéant (''la pomme'', ''des cerises''). ==== [préposition ceci] / [préposition cela] ==== La préposition utilisée devant ''ceci'' ou ''cela'' dans la commande du joueur (vide s’il n’y en a pas). règle après poser la bille sur l'étagère: dire "Vous l’avez posée [préposition cela] [intitulé cela].". -- → "Vous l’avez posée sur l’étagère." fin règle ==== [infinitif action] ==== L’infinitif du verbe de l’action en cours — pratique pour un message de refus générique : dire "Avant que vous ayez pu [infinitif action] [intitulé ceci]{<}, le troll vous assomme.". -- → "Avant que vous ayez pu prendre la lanterne, le troll vous assomme." Voir aussi le sujet de condition [[reference:instructions:controle:si:start#sujets_speciaux|l’infinitif de l’action]]. ==== Exemple complet (déplacement) ==== Le salon est un lieu. Sa description est "Le jardin est au nord. Une étagère est fixée au mur.". Le jardin est un lieu au nord du salon. L'étagère est un support dans le salon. La bille est un objet dans le salon. règle après aller dans le jardin: dire "Vous quittez [intitulé origine] et arrivez dans [intitulé destination] (direction : [intitulé orientation]).". fin règle règle après poser la bille sur l'étagère: dire "Vous l’avez posée [préposition cela] [intitulé cela].". fin règle règle avant commencer le jeu: dire "Essayez : {/regarder/}, {/prendre la bille/}, {/poser la bille sur l’étagère/}, {/aller au nord/}.". fin règle [[djnc>wiki_texte_origine_destination|tester cet exemple]] ===== Mentions ===== Les **mentions** marquent un objet comme //familier// ou //mentionné// pendant l’affichage, et empêchent qu’il soit listé une seconde fois dans la description automatique du lieu. Particulièrement utile quand vous citez un objet dans la description d’un autre objet ou d’un lieu. ^ Balise ^ Effet ^ | ''%%[@X]%%'' | marque ''X'' comme **vu + mentionné** (l’objet est actuellement visible dans le lieu) | | ''%%[#X]%%'' | marque ''X'' comme **mentionné** uniquement (l’objet peut être ailleurs ou caché) | | ''%%[&X]%%'' | marque ''X'' comme **familier + vu + mentionné** (l’objet est déjà familier au joueur) | La cuisine est un lieu. Sa description est "Une cuisine simple. [@coffre] trône près de l'évier.". Le coffre est un contenant dans la cuisine. règle avant commencer le jeu: dire "Essayez : {/regarder/} — le coffre apparaît dans la description, pas dans la liste des objets en bas.". fin règle [[djnc>wiki_texte_mention_decor|tester cet exemple]] ===== Statuts et propriétés d’éléments ===== ==== [description X] / [aperçu X] / [texte X] / [titre X] / [statut X] ==== [description ceci] -- description complète de l'objet [aperçu ceci] -- aperçu (texte court dans la liste des objets) [texte ceci] -- contenu textuel (lu via "lire") [titre ici] -- titre du lieu courant [statut ceci] -- état d'ouverture d'une porte ou d'un contenant ℹ️ ''%%[statut ceci]%%'' renvoie une phrase complète accordée en genre : « Elle est fermée. », « Il est ouvert. ». La balise n’accepte que les cibles spéciales (''ceci'', ''cela''…) — avec un élément nommé elle affiche « problème balise ». ==== [sorties ici] ==== Affiche la liste des directions accessibles depuis le lieu actuel. dire "Vous voyez : [sorties ici].". -- → "Vous voyez : au nord, à l’ouest et en bas." ==== [obstacle vers X] ==== Description de l’obstacle (porte, obstacle…) situé dans la direction ''X'' depuis le lieu courant, accordée en genre : « La grille est fermée. ». C’est la balise qu’utilise l’action de base //aller// pour expliquer un refus de déplacement. action sonder ceci: définitions: ceci est un intitulé. phase exécution: dire "Obstacle : [obstacle vers ceci]". fin action -- > sonder le nord → "Obstacle : La grille est fermée." ℹ️ La cible est une direction passée via ''ceci''/''cela'' ; une direction nommée en dur (''%%[obstacle vers le nord]%%'') n’est pas reconnue. ===== Propriétés personnalisées ===== Voir [[reference:definitions:proprietes_personnalisees|Propriétés personnalisées]] pour la déclaration. Pour l’affichage dans un texte : dire "[Intitulé ceci] coûte [prix ceci] pièce[s prix ceci] d’or.". dire "Le [matière ceci] vous va à ravir !". Si ''[prop X]'' entre en conflit avec un autre mot-clé, ajoutez le préfixe ''p'' : ''%%[p prop X]%%''. ===== Contenu d’un contenant ou d’un lieu ===== ==== Lister, décrire, énumérer ==== ^ Balise ^ Sortie ^ | ''%%[lister objets dans X]%%'' | une liste à puces des objets présents dans ''X'' | | ''%%[décrire objets dans X]%%'' | une phrase : « Dedans, il y a A, un B et une C. » | | ''%%[décrire objets sur X]%%'' | idem mais sur un support | | ''%%[lister objets inventaire]%%''| une liste à puces de l’inventaire du joueur | dire "[décrire objets dans le coffre]". -- → "Dedans, il y a une clé, une bourse et une lettre." ==== Filtres : sauf cachés / sauf mentionnés ==== Chaque forme accepte un filtre en fin de balise : ^ Filtre ^ Effet ^ | ''… sauf cachés'' | omet les objets à l’état ''caché'' (pas encore découverts) | | ''… sauf mentionnés'' | omet les objets déjà mentionnés au cours du tour | | ''… sauf cachés et mentionnés'' | combine les deux | dire "Vous apercevez : [décrire objets dans le coffre sauf cachés]". ℹ️ Un objet caché qui a déjà été affiché (révélé par une autre balise ou une description) n’est plus filtré par ''sauf cachés''. ''sauf mentionnés'' est pratique pour compléter une description sans répéter ce qui vient d’être listé. ===== Fiche d’aide d’une commande ===== ==== [aide ceci] / [aide cela] ==== Insère la fiche d’aide (déclarée avec ''L'aide pour l'action X est "…".'') de la commande désignée par ''ceci'' ou ''cela''. C’est la balise qu’utilise la commande de base ''afficher aide pour '' ; elle sert surtout à personnaliser votre propre commande d’aide : règle remplacer afficher ceci pour cela: définitions: ceci est un intitulé. cela est un intitulé. phase exécution: si ceci est l'aide, dire "Que voulez-vous savoir ?{n}[aide cela]". fin règle ℹ️ La phase ''définitions'' doit reprendre celle de l’action de base (deux intitulés), sinon la règle ne remplace pas l’action existante. => [[reference:routines:action:start|Déclarer l’aide d’une action]] ===== Image ===== ==== [image X] ==== Insère l’image ''X'' (fichier du dossier ''images/'' des ressources du jeu) dans le texte : Sa description est "Le logo de Donjon FI : [image logo.png] Une tour.". => [[reference:instructions:afficher|Afficher (image)]] — l’instruction ''afficher l’image'' et l’emplacement des fichiers. ===== Compteurs et listes ===== ==== [c X] / [s X] (sur un compteur) ==== dire "Score : [c score] point[s score].". -- → "Score : 1 point." (singulier) -- → "Score : 12 points." (pluriel) ==== [lister maListe] / [décrire maListe] / [énumérer maListe] ==== Affichent les éléments d’une [[reference:memoire:listes|liste]] sous différentes formes. dire "Il vous faut : [énumérer la liste des courses].". -- → "Il vous faut : "du pain" et "du lait"." dire "[lister la liste des courses]". -- → une liste à puces, un élément par ligne dire "[décrire la liste des courses]". -- → comme énumérer, avec un point final ℹ️ Les éléments de type texte sont affichés avec leurs guillemets. ==== [mémoire X] ==== Valeur mémorisée sous le nom ''X'' pendant le tour — par exemple un nombre tiré par [[reference:instructions:selectionner|sélectionner]] (''%%[mémoire nombre]%%'', ''%%[mémoire dé1]%%''…). ===== Compter des éléments ===== La balise ''%%[nombre de …]%%'' insère le **nombre d’éléments** du jeu qui correspondent à un critère. On combine librement une **classe**, un ou deux **états**, et une **position** : ^ Balise ^ Compte… ^ | ''%%[nombre de ]%%'' | tous les éléments de cette classe présents dans le jeu | | ''%%[nombre de <état>]%%'' | ceux de cette classe qui ont aussi cet état | | ''%%[nombre de dans/sur/sous X]%%'' | ceux de cette classe contenus //dans//, //sur//, ou //sous// X | dire "Trophées dans le jeu : [nombre de trophées].". -- → "Trophées dans le jeu : 3." dire "Objets allumés : [nombre d'objets allumés].". -- → "Objets allumés : 1." dire "Trophées dans la vitrine : [nombre de trophées dans la vitrine].". -- → "Trophées dans la vitrine : 2." dire "Objets allumés sur l'étagère : [nombre d'objets allumés sur l'étagère].". -- → "Objets allumés sur l'étagère : 1." ℹ️ La classe ''objets'' compte n’importe quel objet ; une classe personnalisée (ici ''trophée'') restreint le comptage à cette classe. La position fonctionne dans un **contenant**, sur un **support**, ''sous'' un objet, ou ''dans'' un **lieu**. Un trophée est une sorte d'objet. La salle des coupes est un lieu. La vitrine est un contenant ouvert dans la salle des coupes. L'étagère est un support dans la salle des coupes. La table est un support dans la salle des coupes. Le trophée d'or est un trophée dans la vitrine. Le trophée d'argent est un trophée dans la vitrine. Le trophée de bronze est un trophée sur l'étagère. Le tabouret est un objet sous la table. La lampe rouge est un objet allumé sur l'étagère. La lampe bleue est un objet éteint sur l'étagère. action compter: dire "Trophées dans le jeu : [nombre de trophées].". dire "Objets allumés : [nombre d'objets allumés].". dire "Trophées dans la vitrine : [nombre de trophées dans la vitrine].". dire "Trophées sur l'étagère : [nombre de trophées sur l'étagère].". dire "Objets allumés sur l'étagère : [nombre d'objets allumés sur l'étagère].". dire "Objets sous la table : [nombre d'objets sous la table].". fin action règle avant commencer le jeu: dire "Essayez : {/compter/}.". fin règle [[djnc>wiki_texte_compter_elements|tester cet exemple]] ===== Exemple complet ===== Un mini-scénario où la description du grimoire change selon que le joueur porte la paire de lunettes, selon que la bougie est allumée, et selon la première lecture. Démontre aussi le verbe conjugué et l’accord. -- "Informations sur le jeu". Le titre du jeu est "Le grimoire dynamique". L’auteur du jeu est "DonjonFI". Le bureau du bibliothécaire est un lieu. Sa description est "Une vaste bibliothèque silencieuse. Sur le bureau central, [@grimoire ancien] repose près [si la bougie est allumée]d’une bougie allumée dont la flamme vacille[sinon]d’une bougie éteinte[fin si].". Le bureau central est un support dans le bureau du bibliothécaire. Le grimoire ancien est un objet décoratif sur le bureau central. Sa description est "Un grand grimoire à la couverture de cuir râpé.{n}[si le joueur possède la paire de lunettes]Avec [intitulé la paire de lunettes], vous lisez : << Le secret se trouve sous [#bougie]. >>[sinon]Sans lunettes, les caractères restent illisibles.[fin si]{n}[1ère fois]({/Une odeur d’encre ancienne flotte dans l’air./})[fin]". La bougie est un objet allumé sur le bureau central. Sa description est "Une bougie de cire jaune. [Pronom ceci] [v être ipr ceci] [si la bougie est allumée]allumée[sinon]éteinte[fin si].". La paire de lunettes est un objet portable sur le bureau central. Le bibliothécaire est une personne décorative dans le bureau du bibliothécaire. Sa description est "Un homme âgé. [Pronom ceci] [v être ipr ceci] vêtu[es ceci] d’une longue robe grise.". Le joueur est dans le bureau du bibliothécaire. [[djnc>wiki_texte_grimoire_dynamique|tester cet exemple]] ===== Voir aussi ===== * [[reference:texte:conjugaison|Verbes conjugués]] — ''%%[v verbe mode-temps X]%%'' * [[reference:texte:conditions|Conditions et blocs textuels]] — ''%%[si …]%%'', ''%%[1ère fois]%%'', ''%%[au hasard]%%'' * [[reference:texte:mise_en_forme|Mise en forme]] — gras, italique, couleurs, espaces * [[reference:instructions:dire|Instruction « dire »]] * [[reference:definitions:proprietes_personnalisees|Propriétés personnalisées]] * [[reference:temps:horloge|Horloge]] — ''%%[heure]%%'', ''%%[minute]%%'', ''%%[horloge]%%''… * [[reference:temps:calendrier|Calendrier]] — ''%%[jour]%%'', ''%%[date]%%'', ''%%[mois]%%'', ''%%[année]%%''… {{tag>balise balises balise_dynamique balises_dynamiques intitule intitulé pronom pronoms accord accords genre nombre singulier pluriel mention mentions crochets texte}}