Doc Donjon FI (v3)

Éditeur de fictions interactives avec interpréteur

Outils pour utilisateurs

Outils du site


tutoriels:train:partie8_inclure

8. Découper son scénario

Quand un scénario dépasse les quelques centaines de lignes, le maintenir dans un seul fichier devient malcommode : on perd ses repères, les diffs deviennent illisibles, et le travail à plusieurs vire au cauchemar de fusion. L’instruction inclure permet de découper un scénario en plusieurs fichiers .djn tout en gardant la simplicité d’un seul scénario à compiler.

L’idée

Au compilateur, l’instruction inclure "X.djn". signifie simplement : « remplacez cette ligne par le contenu de X.djn ». La résolution se fait avant la compilation, le moteur ne voit qu’un grand fichier reconstitué. Vous gardez ainsi les bénéfices d’un découpage logique (intro, chaque chapitre, finale) sans payer le prix d’un système d’imports complexe.

Trois fichiers, un seul scénario

Le fichier racine ne contient que les méta et les directives inclure :

-- Fichier racine : 08_a_inclure_principal.djn
Le titre du jeu est "L’Express de 23h47 — découpé".
L’auteur du jeu est "Voyageur·euse de l’ombre".
 
inclure "08_a_inclure_intro.djn".
inclure "08_a_inclure_finale.djn".
 
Le joueur se trouve dans le compartiment sept.

Le fichier intro contient les lieux et le message d’ouverture :

-- Fichier inclus : 08_a_inclure_intro.djn
Le compartiment sept est un lieu.
Sa description est "Le compartiment sept, ses banquettes de velours, sa lampe verte.".
 
Le couloir est un lieu à l’ouest du compartiment sept.
Sa description est "Le couloir lambrissé du Train-Couchettes.".
 
règle avant commencer le jeu:
  dire "Bienvenue. Ce scénario est découpé en trois fichiers — ouvrez-les côte à côte dans l’éditeur pour voir comment l’instruction ''inclure'' les recolle.".
fin règle

Le fichier finale contient l’objet à examiner et la règle de fin :

-- Fichier inclus : 08_a_inclure_finale.djn
La valise de cuir est un objet dans le compartiment sept.
Sa description est "Une valise patinée, qui semble attendre son propriétaire.".
 
règle après examiner la valise de cuir:
  dire "Vous avez consulté l’objet déclaré dans le fichier ''finale''. Les trois fichiers ont bien été assemblés en un seul scénario.".
  terminer le jeu.
fin règle

📝 Note : avec les inclure, pas moyen de mettre un lien « tester cet exemple » qui marche automatiquement. Ouvrez les trois fichiers vous-même dans Donjon-Créer, ou éditez-les en local avec l’extension VS Code donjon-fi-compagnon.

Quelques règles à respecter

  • Les chemins sont relatifs au fichier racine, pas au fichier qui porte l’instruction inclure. Le compilateur résout tout depuis la racine.
  • La résolution est récursive : un fichier inclus peut lui-même utiliser inclure.
  • Les cycles sont détectés (a.djn qui inclut b.djn qui inclut a.djn produit une erreur explicite).
  • La profondeur maximale d’imbrication est de 32 niveaux — largement assez pour tous les cas réels.
  • Les erreurs de compilation pointent vers le fichier d’origine et sa ligne d’origine, pas vers le résultat aplatit.

À retenir

  • Découpage logique d’un gros scénario en plusieurs fichiers .djn : inclure "X.djn"..
  • Le fichier racine est celui qu’on lance ; il contient Le titre du jeu est …, les directives inclure, et la position du joueur.
  • Les fichiers inclus ne sont pas autonomes : ils ne tiennent pas debout seuls (pas de titre, pas de position de démarrage).
  • L’extension VS Code donjon-fi-compagnon gère la navigation entre fichiers inclus et affiche les diagnostics au bon endroit.

Suite : 9. L’escape game complet

tutoriels/train/partie8_inclure.txt · Dernière modification : de 127.0.0.1