Doc Donjon FI (v3)

Éditeur de fictions interactives avec interpréteur

Outils pour utilisateurs

Outils du site


reference:definitions:etats_personnalises

États personnalisés

En plus des états intégrés (`ouvert`, `fermé`, `verrouillé`, …) fournis par le moteur, vous pouvez définir vos propres états pour décrire ce qui se passe dans votre scénario : féroce, paisible, endormi, corrompu, enchanté, etc.

Les déclarations d’états doivent venir avant la première utilisation. Un état utilisé sans déclaration est créé à la volée comme état simple.

Les 5 formes de déclaration

1. État simple

Un état indépendant, sans relation avec d’autres états.

enchanté est un état.
maudit est un état.

2. Bascule

Deux états opposés et mutuellement exclusifs. Retirer l’un ré-introduit automatiquement l’autre — l’élément est toujours dans l’un des deux.

sec et mouillé forment une bascule.
féroce et paisible forment une bascule.
  • Appliquer sec retire mouillé.
  • Faire changer X n’est plus sec applique automatiquement mouillé.
wiki_etats_bascule_linge
Le placard est un lieu.
Le linge est un objet sec ici.
 
sec et mouillé forment une bascule.
 
action mouiller ceci:
  changer ceci n'est plus sec.
  dire "[Intitulé ceci] est désormais [si ceci est sec]sec[sinon]mouillé[fin si].".
fin action
 
action sécher ceci:
  changer ceci est sec.
  dire "[Intitulé ceci] est désormais [si ceci est sec]sec[sinon]mouillé[fin si].".
fin action
 
règle avant commencer le jeu:
  dire "Essayez : {/mouiller le linge/} puis {/sécher le linge/}.".
fin règle

tester cet exemple

3. Groupe

Trois états (ou plus) mutuellement exclusifs deux à deux, sans ré-introduction au retrait. L’élément peut n’être dans aucun des trois.

solide, liquide et gazeux se contredisent.
éveillé, endormi et hiverné se contredisent.
  • Appliquer liquide retire solide et gazeux.
  • Retirer liquide ne ré-introduit rien : l’élément n’est plus dans aucun des trois.

4. Implication

Relation asymétrique : appliquer A applique aussi B.

enragé implique éveillé.
secret implique caché et invisible.
  • changer le dragon est enragé rend automatiquement le dragon éveillé.
  • Une implication peut viser une liste d’états (caché et invisible).
wiki_etats_implication_dragon
Le donjon est un lieu.
Le dragon est un animal endormi ici.
 
éveillé, endormi et hiverné se contredisent.
enragé implique éveillé.
 
action enrager ceci:
  changer ceci est enragé.
  dire "[Intitulé ceci] est désormais [si ceci est éveillé]éveillé[sinon]endormi[fin si] et [si ceci est enragé]enragé[fin si].".
fin action
 
règle avant commencer le jeu:
  dire "Le dragon est endormi. Essayez : {/enrager le dragon/} (il s'éveille automatiquement).".
fin règle

tester cet exemple

5. Exclusion

Relation bilatérale : les deux états ne peuvent pas coexister, mais retirer l’un ne ré-introduit pas l’autre (contrairement à la bascule).

déplacé exclut intact.
pure exclut malade et maudit.
  • Une exclusion peut viser une liste d’états.

Bascule, groupe ou exclusions ?

Trois cas qui se ressemblent mais ne font pas la même chose :

Vous voulez… Forme à utiliser
L’élément est toujours soit A, soit B (deux états opposés) Bascule : A et B forment une bascule.
L’élément peut être dans A, B, C ou aucun des trois (mutex à plusieurs) Groupe : A, B et C se contredisent.
A contredit B et C, mais B et C peuvent coexister Deux exclusions séparées : A exclut B. + A exclut C.

Un groupe équivaut à une clique complète d’exclusions deux à deux. Si vous voulez exprimer « A est incompatible avec B et C, mais B et C ne s’excluent pas mutuellement », il faut deux exclut séparés, pas un groupe.

Négation dans les définitions

Vous pouvez retirer un état d’un élément dès sa définition, sans passer par changer. Deux formes :

Forme inline (constructeur)

La porte nord est une porte non ouvrable.
La lance enchantée est un objet enchanté et non décoratif ici.

Forme verbale (assertion)

La porte nord n’est pas ouvrable.
La pomme magique n’est pas mangeable.
Les portes ne sont pas ouvertes.

La négation s’applique uniquement dans les définitions. Pour modifier un état pendant la partie, utilisez l’instruction changer (forme changer X n’est plus Y).

Utiliser un état

Une fois déclaré, un état personnalisé s’utilise exactement comme un état intégré :

Dans la définition d’un élément

Le dragon est un animal féroce et éveillé dans la grotte.
La licorne est un animal pure et éveillée dans la clairière.

Dans une condition ''si''

si le dragon est endormi:
  dire "Vous l’approchez sans bruit.".
sinonsi le dragon est enragé:
  dire "C’est une mauvaise idée.".
fin si

Dans une [[reference:texte:start|description dynamique]]

Sa description est "Un dragon écailleux. [si dragon est paisible]Il vous observe d’un air placide.[fin si][si dragon est féroce]Il rugit en vous voyant.[fin si][si dragon est endormi] Il dort profondément.[fin si]".

Via ''changer'' pendant la partie

changer le dragon est paisible.        -- applique paisible, retire féroce (bascule)
changer le dragon est endormi.         -- applique endormi, retire éveillé et hiverné (groupe)
changer le dragon n’est plus endormi.  -- retire endormi ; aucun autre état ré-introduit

Exemple complet

Un mini-scénario qui met en scène un dragon (féroce/paisible + éveillé/endormi/hiverné + enragé) et une licorne (pure/corrompu). Essayez examiner le dragon, puis endormir le dragon, enrager le dragon, apaiser le dragon, corrompre la licorne.

ex_etats_dragon
-- "Informations sur le jeu".
Le titre du jeu est "Le dragon endormi".
L’auteur du jeu est "DonjonFI".
 
-- État simple
enragé est un état.
-- Bascules
féroce et paisible forment une bascule.
pure et corrompu forment une bascule.
-- Groupe
éveillé, endormi et hiverné se contredisent.
-- Implication
enragé implique éveillé.
 
La clairière enchantée est un lieu.
Sa description est "Une clairière baignée par la lumière dorée. Au nord, l’entrée d’une grotte sombre.".
 
La grotte du dragon est un lieu au nord de la clairière enchantée.
Sa description est "Une grotte aux parois marquées par les griffes d’un grand reptile.".
 
Le dragon est un animal féroce et éveillé dans la grotte du dragon.
Sa description est "Un dragon écailleux. [si dragon est paisible]Il vous observe d’un air placide.[fin si][si dragon est féroce]Il rugit en vous voyant.[fin si][si dragon est endormi] Il dort profondément.[fin si][si dragon est enragé] Il est dans une rage folle.[fin si]".
 
La licorne est un animal pure et éveillée dans la clairière enchantée.
Sa description est "Une licorne d’un blanc immaculé. [si licorne est pure]Sa corne brille d’une lumière pure.[fin si][si licorne est corrompue]Sa corne a viré au noir.[fin si]".
 
-- Négation inline
La lance enchantée est un objet enchanté et non décoratif dans la clairière enchantée.
Sa description est "Une lance gravée de runes lumineuses.".
 
-- Négation verbale
La pomme magique est un objet enchanté et mangeable dans la clairière enchantée.
La pomme magique n’est pas mangeable.
Sa description est "Une pomme dorée. Trop précieuse pour être croquée.".
 
action apaiser ceci:
  changer ceci est paisible.
  dire "[Intitulé ceci] se calme aussitôt.".
fin action
 
action enrager ceci:
  changer ceci est enragé.
  dire "[Intitulé ceci] entre dans une rage folle !".
fin action
 
action endormir ceci:
  si ceci est enragé:
    dire "Trop tard, [intitulé ceci] est enragé.".
  sinon
    changer ceci est endormi.
    dire "[Intitulé ceci] s’assoupit doucement.".
  fin si
fin action
 
action corrompre ceci:
  changer ceci est corrompu.
  dire "Une ombre passe sur [intitulé ceci]…".
fin action
 
Le joueur est dans la clairière enchantée.

tester cet exemple

Voir aussi

reference/definitions/etats_personnalises.txt · Dernière modification : de 127.0.0.1