Doc Donjon FI (v3)

Éditeur de fictions interactives avec interpréteur

Outils pour utilisateurs

Outils du site


reference:definitions:proprietes_personnalisees

Propriétés personnalisées

En plus des propriétés intégrées (description, aperçu, titre, texte, …), vous pouvez attacher à n’importe quel objet, lieu, personnage — ou même au joueur — vos propres propriétés : un prix, un poids, une couleur, une force, etc.

Propriété ≠ état. Un état (fermé, paisible, corrompu) est un drapeau on/off. Une propriété porte une valeur : un nombre (poids = 12) ou un texte (couleur = "bronze"). On utilise un état quand la réponse est binaire, une propriété quand elle est numérique ou textuelle.

Déclarer une propriété

Deux types possibles, choisis selon le verbe :

  • est → propriété de type texte
  • vaut (ou valent pour un nom au pluriel) → propriété de type nombre

Au moment de la définition

L’épée (f) est un objet portable sur l’étale.
Sa description est "Une épée en bronze.".
Son prix vaut 45.
Sa couleur est "bronze".

Après la déclaration de l’élément

Pratique quand vous voulez regrouper les propriétés d’un objet plus loin dans le scénario, ou ajouter une propriété à un élément déjà déclaré :

Le bouclier en bois est un objet portable sur l’étale.
Le prix du bouclier en bois vaut 10.
La couleur du bouclier en bois est "brun".

Nom de propriété au pluriel

Le nom d’une propriété peut être au pluriel. Accordez alors le verbe : valent pour un nombre.

La batterie est un objet portable ici.
Les charges de la batterie valent 0.

Sur le joueur

Le joueur est un élément comme un autre : il accepte des propriétés.

La force du joueur vaut 7.
Le surnom du joueur est "le héros silencieux".

Afficher une propriété dans un texte

Utilisez la balise [nomPropriété élément] à l’intérieur d’une chaîne "…".

dire "[Intitulé ceci] coûte [prix ceci] pièces d’or.".
dire "Votre force vaut [force du joueur].".
dire "La statue est en [matière ceci].".

Si la forme courte ne fonctionne pas (par exemple parce que le nom de votre propriété entre en conflit avec un mot-clé du moteur), utilisez la forme avec le préfixe p : [p prix ceci], [p matière ceci]. Dans la majorité des cas, la forme courte suffit.

Accord automatique du pluriel

La balise [s nomPropriété ceci] ajoute un s si la valeur est plurielle (≥ 2) :

dire "[Intitulé ceci] coûte [prix ceci] pièce[s prix ceci] d’or.".
-- → "L'épée coûte 1 pièce d'or." ou "L'épée coûte 45 pièces d'or."
wiki_proprietes_afficher_prix
L'étale du forgeron est un lieu.
 
L'épée en bronze (f) est un objet portable ici.
Son prix vaut 45.
Sa couleur est "bronze".
 
L'épée en or (f) est un objet portable ici.
Son prix vaut 1.
Sa couleur est "or".
 
action évaluer ceci:
  dire "[Intitulé ceci] coûte [prix ceci] pièce[s prix ceci] d'or. (Couleur : [couleur ceci].)".
fin action
 
règle avant commencer le jeu:
  dire "Essayez : {/évaluer l'épée en bronze/} et {/évaluer l'épée en or/}.".
fin règle

tester cet exemple

Tester une propriété

Existence

Pour vérifier qu’un élément possède une propriété donnée :

si aucun prix pour ceci:
  dire "[Intitulé ceci] n’est pas à vendre.".
sinon
  dire "[Intitulé ceci] coûte [prix ceci] pièces.".
fin si

La même chose dans un texte dynamique :

dire "[Intitulé ceci] [si aucun prix pour ceci]n’est pas à vendre[sinon]coûte [prix ceci] pièces[fin si].".

Comparaison numérique

Pour comparer la valeur d’une propriété à un nombre, utilisez les verbes vaut, atteint, dépasse :

si le poids de ceci vaut 0:
  dire "C’est imperceptible.".
fin si
 
si la force du joueur atteint le poids de ceci:
  -- force >= poids
  dire "Vous soulevez [intitulé ceci] !".
fin si
 
si la force du joueur dépasse 10:
  -- force > 10 (strictement)
  dire "Vous êtes hors-norme !".
fin si

Avec un nom de propriété au pluriel, le verbe s’accorde (valent, atteignent, dépassent) ; la forme au singulier est aussi acceptée :

si les charges de la batterie valent 0:
  dire "La batterie est vide.".
fin si

Comparaison de texte

Pour comparer une propriété texte à une valeur, utilisez vaut. Mettez la valeur entre guillemets pour indiquer qu’il s’agit d’une chaîne de caractères (et non d’un intitulé) ; les guillemets ne font pas partie de la comparaison :

si la couleur de ceci vaut "bronze":
  dire "C’est du bronze.".
fin si
 
si la couleur de ceci ne vaut pas "rouge vif":
  dire "Ce n’est pas la bonne teinte.".
fin si

La comparaison d’une chaîne entre guillemets est exacte : elle tient compte des majuscules et des accents ("Bronze" ≠ "bronze").

Voir aussi les pages des verbes : valoir, atteindre, dépasser.

wiki_proprietes_soulever_poids
La salle d'entraînement est un lieu.
 
La force du joueur vaut 7.
 
Le sac est un objet décoratif ici.
Le poids du sac vaut 4.
 
L'enclume (f) est un objet décoratif ici.
Le poids de l'enclume vaut 20.
 
action soulever ceci:
  si la force du joueur atteint le poids de ceci:
    dire "Vous soulevez [intitulé ceci] (force [force du joueur] ≥ poids [poids ceci]).".
  sinon
    dire "[Intitulé ceci] est trop lourd[e ceci] ([poids ceci]) pour vous ([force du joueur]).".
  fin si
fin action
 
règle avant commencer le jeu:
  dire "Essayez : {/soulever le sac/} et {/soulever l'enclume/}.".
fin règle

tester cet exemple

Exemple complet

Un mini-scénario où le joueur doit soulever des objets de différents poids selon sa force. Chaque objet a un poids (nombre) et une matière (texte). Essayez soulever le sac de pièces, soulever la caisse en bois, soulever le coffre de fer, soulever la statue de marbre, soulever la plume.

ex_proprietes_poids
-- "Informations sur le jeu".
Le titre du jeu est "La voûte du gardien".
L’auteur du jeu est "DonjonFI".
 
La voûte du gardien est un lieu.
Sa description est "Une voûte de pierre éclairée par quelques torches. Plusieurs objets de poids variés gisent au sol.".
 
-- Propriété du joueur
La force du joueur vaut 7.
 
-- Objets avec poids (nombre) et matière (texte)
Le sac de pièces est un objet décoratif dans la voûte du gardien.
Le poids du sac de pièces vaut 1.
La matière du sac de pièces est "cuir".
Sa description est "Un petit sac qui tinte. ([matière ceci], poids [poids ceci]).".
 
La caisse en bois est un objet décoratif dans la voûte du gardien.
Le poids de la caisse en bois vaut 4.
La matière de la caisse en bois est "bois".
 
Le coffre de fer est un objet décoratif dans la voûte du gardien.
Le poids du coffre de fer vaut 12.
La matière du coffre de fer est "fer".
 
La statue de marbre est un objet décoratif dans la voûte du gardien.
Le poids de la statue de marbre vaut 40.
La matière de la statue de marbre est "marbre".
 
-- Objet sans propriété poids (illustre le test d'existence)
La plume d’oie est un objet portable dans la voûte du gardien.
Sa description est "Une plume. Elle ne pèse [si aucun poids pour ceci]rien du tout[sinon][poids ceci][fin si].".
 
action soulever ceci:
  si aucun poids pour ceci:
    dire "[Intitulé ceci] est si léger[e ceci] qu’[pronom ceci] n’a pas de poids notable.".
  sinonsi la force du joueur atteint le poids de ceci:
    dire "Vous soulevez [intitulé ceci]. (Force [force du joueur] ≥ poids [poids ceci].)".
  sinon
    dire "[Intitulé ceci] est trop lourd[e ceci] ([poids ceci]) pour vous ([force du joueur]).".
  fin si
fin action
 
Le joueur est dans la voûte du gardien.

tester cet exemple

Voir aussi

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