Doc Donjon FI (v3)

Éditeur de fictions interactives avec interpréteur

Outils pour utilisateurs

Outils du site


reference:routines:action:exemples

Exemples d’actions personnalisées

Cette page rassemble des mini-scénarios qui illustrent les différentes formes d’actions personnalisées. Voir la page principale pour la syntaxe complète.

Action à 1 complément : cueillir une fleur

Démontre les 3 phases (prérequis, exécution, épilogue), un refus contextuel quand l’objet n’est pas une fleur, et un état personnalisé cueillie pour bloquer la deuxième cueillette.

À tester :

  • cueillir la rose → OK, déposée dans le panier
  • cueillir le cactus → refusé (ce n’est pas une fleur)
  • cueillir la rose une deuxième fois → refusé (déjà cueillie)
  • inventaire → voir le panier
ex_actions_cueillir
-- "Informations sur le jeu".
Le titre du jeu est "Le jardin secret".
L’auteur du jeu est "DonjonFI".
 
cueillie est un état.
 
Le jardin secret est un lieu.
Sa description est "Un petit jardin entouré de murs de pierre. Plusieurs fleurs y poussent — et un cactus solitaire au coin.".
 
Le panier en osier est un contenant dans l’inventaire.
 
La rose rouge est une fleur dans le jardin secret.
La marguerite blanche est une fleur dans le jardin secret.
La tulipe jaune est une fleur dans le jardin secret.
 
Le cactus piquant est un objet dans le jardin secret.
Sa description est "Mieux vaut ne pas y toucher à mains nues.".
 
action cueillir ceci:
  définition:
    ceci est un objet visible et accessible.
  phase prérequis:
    si ceci n’est pas une fleur:
      refuser "Vous ne cueillez pas [intitulé ceci] : ce n’est pas une fleur.".
    fin si
    si ceci est cueillie:
      refuser "[Intitulé ceci] a déjà été cueilli[es ceci].".
    fin si
  phase exécution:
    changer ceci est cueillie.
    déplacer ceci dans le panier en osier.
  phase épilogue:
    dire "Vous cueillez délicatement [intitulé ceci] et [le ceci] déposez dans votre panier.".
fin action
 
Le joueur est dans le jardin secret.

tester cet exemple

Action à 2 compléments : mélanger deux potions

Démontre une action ceci avec cela avec définitions séparées, plusieurs prérequis, le test d’identité si ceci est cela, un effet au hasard dans l’épilogue, et une aide contextuelle affichée par aide mélanger.

À tester :

  • mélanger la fiole rouge avec la fiole bleue → OK
  • mélanger la fiole rouge avec la fiole verte → refusé (rouge déjà mélangée)
  • mélanger la fiole verte avec la fiole verte → refusé (même potion)
  • mélanger le chiffon avec la fiole verte → refusé (le chiffon n’est pas une potion)
  • aide mélanger → affiche l’aide
ex_actions_melanger
-- "Informations sur le jeu".
Le titre du jeu est "L’atelier d’alchimie".
L’auteur du jeu est "DonjonFI".
 
mélangée est un état.
 
L’atelier d’alchimie est un lieu.
Sa description est "Un laboratoire encombré d’alambics. Sur l’établi, trois potions colorées.".
 
L’établi de l’alchimiste est un support dans l’atelier d’alchimie.
 
La fiole rouge est une potion sur l’établi de l’alchimiste.
La fiole bleue est une potion sur l’établi de l’alchimiste.
La fiole verte est une potion sur l’établi de l’alchimiste.
Le chiffon est un objet sur l’établi de l’alchimiste.
 
action mélanger ceci avec cela:
  définitions:
    ceci est un objet visible et accessible.
    cela est un objet visible et accessible.
  phase prérequis:
    si ceci n’est pas une potion:
      refuser "[Intitulé ceci] n’est pas une potion.".
    fin si
    si cela n’est pas une potion:
      refuser "[Intitulé cela] n’est pas une potion.".
    fin si
    si ceci est cela:
      refuser "Vous ne pouvez pas mélanger une potion avec elle-même.".
    fin si
    si ceci est mélangée ou cela est mélangée:
      refuser "Une des potions a déjà servi à un mélange.".
    fin si
  phase exécution:
    changer ceci est mélangée.
    changer cela est mélangée.
  phase épilogue:
    dire "Vous versez [intitulé ceci] dans [intitulé cela]. Une fumée [au hasard]violette[ou]dorée[ou]grise[fin choix] s’élève de l’établi.".
fin action
 
L’aide pour l’action mélanger est "{*mélanger X avec Y*}{n}Verse une potion dans une autre. Les deux potions doivent être distinctes et non encore mélangées.".
 
Le joueur est dans l’atelier d’alchimie.

tester cet exemple

Refuser une action existante (règle avant)

Pour bloquer une action déjà fournie par le moteur (comme prendre ou aller), on utilise une règle avant plutôt qu’une action personnalisée. Exemple : un musée où certains objets sont fixés au sol et où il faut un badge pour sortir.

Voir le scénario complet : ressources/scenarios/tests/refuser_action.djn dans le dépôt.

Extrait :

règle avant prendre la statue en marbre:
  refuser "Ça ne fonctionne pas comme ça. La statue est boulonnée au sol.".
fin règle
 
règle avant prendre le vase Ming:
  dire "Le gardien lève les yeux et vous regarde fixement.".
  refuser l’action.
fin règle
 
règle avant aller vers la sortie:
  si le badge de visiteur n’est pas possédé:
    dire "L’agent de sécurité à l’entrée vous barre le passage.".
    refuser l’action.
  fin si
fin règle

Les deux formes de refus (refuser "message" et refuser l’action après un dire) sont décrites sur la page action personnalisée.

Voir aussi

reference/routines/action/exemples.txt · Dernière modification : de 127.0.0.1