====== États des éléments du jeu ====== Vous pouvez ajouter des //états// à vos objets et lieux.\\ Il est possible de tester et de modifier les états d’un élément du jeu. Les nouveaux états sont créés automatiquement lorsque vous les utilisez. ===== Appliquer des états aux éléments du jeu lors de la description du monde ===== La valise est un contenant solide. Elle est fermée et ouvrable. => La valise possède les états ''solide'', ''ouvrable'' et ''fermé''. Les féminins et pluriels sont gérés automatiquement sauf pour certains mots irréguliers. ===== Changer les états en cours de partie ===== ==== Ajouter un état à un objet ==== changer la valise est ouverte; Ajouter l’état ''ouvert'' à la valise. Remarques : * L’état ''fermé'' est retiré automatiquement de l’objet valise car il y a une //bascule// entre ''ouvert'' et ''fermé''. * L’état ''intact'' est retiré automatiquement de l’objet valise car il a été modifié par le joueur. ==== Retirer un état d’un lieu ==== changer ici n’est plus obscur. Retirer l’état ''obscur'' au lieu dans lequel le joueur se trouve. Remarque: l’état ''clair'' est ajouté automatiquement au lieu car il y a une //bascule// entre ''clair'' et ''obscur''. ===== Relations entre états ===== Certains états entretiennent des relations qui automatisent leur gestion. Trois mécanismes existent — voir aussi la légende sur [[reference:memoire:etats:etats_de_base|Les états de base]]. ==== Bascules (↔) ==== Deux états en bascule sont complémentaires : appliquer l’un retire automatiquement l’autre, et inversement. La torche est un objet allumé. action souffler sur la torche : changer la torche est éteinte. fin action => Après ''changer la torche est éteinte'', l’état ''allumé'' est retiré automatiquement (bascule ''allumé'' ↔ ''éteint''). Bascules courantes : ''ouvert'' ↔ ''fermé'', ''clair'' ↔ ''obscur'', ''verrouillé'' ↔ ''déverrouillé'', ''actionné'' ↔ ''arrêté'', ''parlant'' ↔ ''muet'', ''fixé'' ↔ ''transportable''. ==== Implications (→) ==== Appliquer un état qui en implique d’autres ajoute aussi tous les états impliqués, en cascade. La lettre compromettante est un objet secret. => La lettre reçoit ''secret'', mais aussi ''caché'' et ''discret'' par implications en chaîne (''secret'' → ''caché'' → ''discret''). si la lettre compromettante est discrète : dire "Personne ne la remarquerait dans une pile de papiers.". fin si => Le test renvoie vrai, alors qu’on n’a déclaré que ''secret''. ==== Contradictions / exclusions (≠) ==== Appliquer un état qui en contredit d’autres retire ces derniers automatiquement. C’est ce qu’on appelle aussi une //exclusion mutuelle//. L’eau est un objet liquide dans la marmite. action geler l’eau : changer l’eau est solide. dire "L’eau devient un bloc de glace.". fin action => Après ''changer l’eau est solide'', l’état ''liquide'' est retiré automatiquement (contradiction ''solide'' ≠ ''liquide'' ≠ ''gazeux'' : les trois s’excluent mutuellement). Autres contradictions courantes : * ''intact'' ≠ ''déplacé'' ≠ ''modifié'' (un objet manipulé n’est plus intact) * ''familier'' ≠ ''secret'' ≠ ''caché'' ≠ ''discret'' (un objet rendu familier cesse d’être secret) ===== Déclarer ses propres relations entre états ===== Vous pouvez définir vous-même les relations entre les états que vous créez. Ces déclarations se placent dans la //description du monde//, avant ou après l’utilisation des états concernés. ==== Déclarer une bascule ==== Syntaxe : '' et forment une bascule.'' sec et mouillé forment une bascule. La serviette est un objet sec dans la salle de bain. action tremper la serviette : changer la serviette est mouillée. dire "La serviette est trempée.". fin action => Après l’action, ''sec'' est retiré et ''mouillé'' ajouté automatiquement. Inversement, ''changer la serviette est sèche'' retire ''mouillé''. [[djnc>wiki_etats_bascule_linge|tester un exemple de bascule]] ==== Déclarer une implication ==== Syntaxe : ''<état> implique .'' ou ''<état> implique , et .'' vu est un état. mentionné est un état. vu implique mentionné. secret implique caché, invisible et discret. Le passage dérobé est un lieu secret. => Le passage dérobé reçoit automatiquement ''caché'', ''invisible'' et ''discret'' en plus de ''secret''. L’implication peut se chaîner : si vous déclarez aussi ''caché implique discret.'', alors ''secret'' implique ''caché'' qui implique ''discret'' — la cascade se propage. ℹ️ Les états d’une implication sont **créés automatiquement** au besoin (paramètre //création automatique des états//, actif par défaut) ; vous pouvez aussi les déclarer (''X est un état.''). Avec ''désactiver création automatique des états.'', un état non déclaré provoque une erreur. De plus, l’état impliqué applique **ensuite ses propres relations** (bascule, contradiction). [[djnc>wiki_etats_implication_dragon|tester un exemple d’implication]] ==== Déclarer une exclusion ==== Syntaxe : ''<état> exclut .'' ou ''<état> exclut , et .'' fendu est un état. déplacé exclut intact. intact exclut déplacé, modifié et fendu. Le vase est un objet intact sur la table. action briser le vase : changer le vase est fendu. dire "Le vase se fend en deux.". fin action => Après l’action, ''intact'' est retiré (l’exclusion ''intact'' ≠ ''fendu'' agit dans les deux sens à l’exécution : appliquer ''fendu'' chasse ''intact''). L’état ''fendu'' est créé automatiquement si besoin (ou déclaré explicitement). Pour un groupe d’états mutuellement exclusifs (comme ''solide''/''liquide''/''gazeux''), préférez la forme dédiée ''solide, liquide et gazeux se contredisent.''. ==== Bascule, implication ou exclusion : lequel choisir ? ==== * **Bascule** : exactement //deux// états symétriques où l’un implique l’absence de l’autre, et vice-versa. Ex : ''ouvert''/''fermé''. * **Implication** : relation //asymétrique// — appliquer A entraîne B, mais pas l’inverse. Ex : ''secret'' → ''caché'' (un objet caché n’est pas forcément secret). * **Exclusion** : un état //chasse// d’autres états, sans imposer de réciproque. Ex : ''déplacé'' chasse ''intact'', mais l’on peut redevenir ''intact'' sans automatisme. * **Groupe** : plusieurs états mutuellement exclusifs deux à deux (''A, B et C se contredisent.''). Ex : ''solide''/''liquide''/''gazeux''. La page [[reference:definitions:etats_personnalises|États personnalisés]] détaille les cinq formes de déclaration et propose un mini-jeu complet à tester. ===== Tester les états ===== si la valise est ouverte : dire "Vous pouvez remplir la valise.". fin si si ici est sombre : dire "Vous ne voyez rien". fin si ===== Exemple complet ===== Le titre du jeu est "Noir". L’auteur du jeu est "zigoteau". -- description du monde Le grenier est un lieu. Il est obscur. La valise est un contenant dans le grenier. Elle est fermée et ouvrable. La lampe est un objet éteint dans l’inventaire. Le joueur se trouve dans le grenier. -- actions et règles spéciales action allumer la lampe: changer le grenier est clair. changer la lampe est allumée. dire "À présent je vois comme en plein jour !". fin action règle avant regarder, regarder un objet ou examiner un objet: si ici est obscur: dire "Je ne vois rien.". arrêter l’action. fin si fin règle règle avant commencer le jeu: dire "Il fait noir.". stopper l’action. fin règle => ''éteint'', ''allumé'', ''obscur'', ''fermé'' et ''ouvrable'' sont des //états//. {{tag>état états etat etats bascule bascules implication implications exclusion exclusions contradiction contradictions état_personnalisé etat_personnalise changer attribut mémoire memoire}}