Outils pour utilisateurs

Outils du site


fr:yaml:syntaxe-base

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:yaml:syntaxe-base [2026/05/03 17:01] – Syntaxe YAML de base cyrilfiestafr:yaml:syntaxe-base [2026/05/03 18:47] (Version actuelle) – Harmonize FR/EN language switch cyrilfiesta
Ligne 1: Ligne 1:
 +**Language / Langue :** **FR** | [[en:yaml:syntaxe-base|EN]]
 +
 ====== Syntaxe YAML — Base ====== ====== Syntaxe YAML — Base ======
  
Ligne 7: Ligne 9:
 <code yaml> <code yaml>
 titre: "Mon scénario" titre: "Mon scénario"
 +description: "Une aventure courte pour découvrir JDR-Bot."
 markdown: story markdown: story
 police: serif police: serif
Ligne 16: Ligne 19:
  
 salles: salles:
 +  - id: debut
 +    texte: |
 +      Vous vous réveillez dans une forêt sombre.
 +      Une lueur brille au loin.
 +    choix:
 +      - commande: avancer
 +        bouton: "Avancer vers la lueur"
 +        vers: clairiere
 +      - commande: rester
 +        bouton: "Rester sur place"
 +        vers: fin_attente
  
-- id: debut +  - id: clairiere 
-  texte: +    texte: "Vous débouchez dans une clairière baignée de lumière." 
-    Vous vous réveillez dans une forêt sombre+    evenements
-    Une lueur brille au loin. +      - si: ~ 
-  choix+        finvictoire 
-    commande: avancer +        texte: "Vous avez trouvé la sortie !"
-      bouton: "➡️ Avancer vers la lueur" +
-      vers: clairiere +
-      si: "~" +
-    - commanderester +
-      bouton: "🛑 Rester sur place" +
-      vers: fin_attente +
-      si: "~"+
  
-- id: clairiere +  - id: fin_attente 
-  texte: | +    texte: "La nuit tombe. Vous n'avez pas bougé." 
-    Vous débouchez dans une clairière baignée de lumière. +    evenements: 
-  evenements: +      - si: ~ 
-    - si: "~" +        fin: defaite 
-      fin: victoire +        texte: "Perdu dans la nuit..."
-      texte: "Vous avez trouvé la sortie !" +
- +
-- id: fin_attente +
-  texte: "La nuit tombe. Vous n'avez pas bougé." +
-  evenements: +
-    - si: "~" +
-      fin: defaite +
-      texte: "Perdu dans la nuit..."+
 </code> </code>
  
Ligne 50: Ligne 49:
  
 ^ Clé ^ Description ^ Obligatoire ^ ^ Clé ^ Description ^ Obligatoire ^
-| ''titre:'' | Titre du scénario (affiché dans le catalogue✅ +| ''titre:'' | Titre du scénario. | oui | 
-| ''markdown:''Style de rendu : ''story'', ''rpg'', ''terminal'', ''aventure'' | non | +| ''description:'' | Description affichée dans le catalogue et l'export standalone. non 
-| ''police:'' | Police par défaut : ''serif'', ''monospace'', etc. | non | +| ''markdown:''Rendu global du texte : ''none'', ''fix'', ''bold'', ''italic'', ''quote'', ''story'' ou langage de bloc code. | non | 
-| ''description:''Description affichée dans le catalogue | non | +| ''taille:'' | Taille de texte par défaut, en pixels. | non | 
-| ''vars:''Déclaration des variables | non | +| ''police:'' | Police par défaut : ''serif'', ''monospace'', ''cursive'', ''Georgia'', etc. | non | 
-| ''vars_online:'' | Variables persistées entre parties/serveurs | non | +| ''fond:''Fond par défaut des blocs de texte web/desktop. | non | 
-| ''salles:''Liste des salles du scénario ✅ +| ''couleur-texte:'' | Couleur de texte par défaut web/desktop. | non | 
-| ''tags:'' | Groupes de comportements réutilisables | non | +| ''vars:''Variables numériques globales. | non | 
-| ''modeles:'' | Salles modèles réutilisables | non | +| ''vars_texte:'' | Variables textuelles globales. | non | 
-| ''evenements_globaux:'' | Événements exécutés en permanence | non | +| ''vars_online:'' | Variables persistées entre parties| non | 
-| ''timers_globaux:'' | Timers actifs en arrière-plan | non | +| ''options:''Boutons permanents de toolbar. non | 
-| ''997_globaux:'' | Ordre d'exécution des globaux (''avant'' ''apres''| non |+| ''alias_globaux:'' | Labels de boutons réutilisables. | non 
 +| ''tags:'' | Groupes de comportements réutilisables| non | 
 +| ''modeles:'' | Salles modèles réutilisables| non | 
 +| ''evenements_globaux:'' | Événements disponibles dans toutes les salles. | non | 
 +| ''actions_globales:'' | Actions personnalisées disponibles partout. | non | 
 +| ''timers_globaux:'' | Timers autonomes persistants entre salles. | non | 
 +| ''997_globaux:'' | Ordre d'exécution des événements globaux ''avant'' ou ''apres''| non 
 +| ''salles:'' | Liste des salles du scénario. | oui |
  
 ===== Structure d'une salle ===== ===== Structure d'une salle =====
  
 <code yaml> <code yaml>
-- id: nom_salle          # identifiant unique (obligatoire)+- id: nom_salle          # identifiant unique 
 +  num: 3                 # optionnel : numéro explicite, croissant dans le YAML 
 +  bouton: "Accueil"      # label hérité par les choix vers cette salle
   texte: "..."           # texte affiché au joueur   texte: "..."           # texte affiché au joueur
-  init                 valeurs réinitialisées à l'entrée+  fond"#111827"        # fond local optionnel 
 +  couleur-texte: "#f5f0d8" 
 + 
 +  init:
     - var: de     - var: de
       valeur: "%=1:6"       valeur: "%=1:6"
-  evenements           # événements automatiques + 
-    - si: "condition+  objets
-      faire: "action+    - nom: cle 
-      vers: autre_salle +      endroit: table 
-      texte: "texte affiché+      description: "Une vieille clé rouillée.
-  choix:                 # boutons de navigation+      msg_ramassage: "Vous prenez la clé." 
 + 
 +  evenements: 
 +    - si: "v_pv_v <= 0
 +      vers: game_over 
 +      texte: "Vous tombez au sol." 
 + 
 +  choix:
     - commande: aller     - commande: aller
-      bouton: "➡️ Aller là-bas"+      bouton: "Aller là-bas"
       vers: destination       vers: destination
-      si: "~" +      si: ~ 
-  actions:               # actions personnalisées (examiner, prendre...) + 
-    - action: examiner+  actions: 
 +    - verbe: examiner
       cible: coffre       cible: coffre
-      faire"or.+.10" +      si~ 
-      texte: "Vous trouvez 10 pièces d'or !+      texte_ok: "Un vieux coffre fermé.
-  objets:                # objets présents dans la salle + 
-    - nom: cle +  encadre:
-      description: "Une vieille clé rouillée" +
-  encadre:               # HUD persistant+
     position: haut     position: haut
     texte: "PV : v_pv_v"     texte: "PV : v_pv_v"
 </code> </code>
 +
 +===== Numéros de salles =====
 +
 +Par défaut, les salles sont numérotées dans l'ordre du YAML. ''num:'' permet de fixer un numéro historique, mais les numéros doivent rester strictement croissants dans le document. Dans l'éditeur, réordonner les salles dans la liste modifie justement cet ordre d'export.
  
 ===== Fins de partie ===== ===== Fins de partie =====
Ligne 98: Ligne 119:
 <code yaml> <code yaml>
 evenements: evenements:
-  - si: "~" +  - si: ~ 
-    fin: victoire     # fin gagnante (équivalent salle 999 en .txt)+    fin: victoire 
 +    texte: "Fin gagnante."
  
-  - si: "~" +  - si: ~ 
-    fin: defaite      # fin perdante (équivalent salle 998 en .txt)+    fin: defaite 
 +    texte: "Fin perdante."
 </code> </code>
  
 ===== Règles importantes ===== ===== Règles importantes =====
  
-  * Les IDs de salles doivent être **uniques** +  * Les IDs de salles doivent être uniques. 
-  * Les variables utilisées dans les conditions doivent être **déclarées** dans ''vars:'' +  * Les variables utilisées en conditions doivent être déclarées dans ''vars:'', ''vars_texte:'', ''vars_online:'' ou ''init:''. 
-  * Le caractère ''~'' dans une condition signifie **"toujours vrai"** (fallback) +  * ''~'' signifie toujours vrai. 
-  * L'ordre des événements est séquentiel — le premier qui redirige (''vers:''stoppe les suivants+  * Les événements sont évalués dans l'ordre le premier qui redirige avec ''vers:'' stoppe les suivants
 +  * Les objets en condition s'écrivent ''cle'' ou ''-cle'', pas ''o_cle_o''.
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 118: Ligne 142:
   * [[fr:yaml:evenements|Événements]]   * [[fr:yaml:evenements|Événements]]
   * [[fr:yaml:choix|Choix et boutons]]   * [[fr:yaml:choix|Choix et boutons]]
 +  * [[fr:yaml:objets|Objets]]
fr/yaml/syntaxe-base.1777820510.txt.gz · Dernière modification : de cyrilfiesta