Table des matières
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.djnqui inclutb.djnqui incluta.djnproduit 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 directivesinclure, 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
