====== inclure ======
L'instruction ''inclure'' permet de **découper un scénario en plusieurs fichiers** ''.djn''. Très utile pour les gros scénarios : un fichier par chapitre, par lieu, par PNJ, etc.
===== Syntaxe =====
-- Dans le scénario racine (jeu.djn)
inclure "intro.djn".
inclure "salle1.djn".
inclure "salle2.djn".
À la compilation, chaque ligne ''inclure "X.djn".'' est **remplacée** par le contenu du fichier ''X.djn''. Le moteur ne voit jamais l'instruction ''inclure'' — il voit le scénario reconstitué d'un seul tenant.
===== Règles de résolution =====
* **Chemins relatifs au fichier racine** — peu importe quel fichier contient l'instruction ''inclure'', le chemin est résolu depuis le fichier ''.djn'' principal.
* **Récursivité** — un fichier inclus peut lui-même contenir des ''inclure''.
* **Détection des cycles** — ''a.djn'' qui inclut ''b.djn'' qui ré-inclut ''a.djn'' produit une erreur de compilation explicite.
* **Profondeur maximale** — 32 niveaux d'imbrication. Au-delà, erreur.
* **Erreurs traçables** — si une erreur de syntaxe survient dans un fichier inclus, le message d'erreur pointe sur le **fichier d'origine** et sa ligne, pas sur le fichier racine.
===== Exemple : scénario en 3 fichiers =====
==== jeu.djn (racine) ====
-- "Informations sur le jeu".
Le titre du jeu est "Le grand labyrinthe".
inclure "lieux.djn".
inclure "objets.djn".
inclure "actions_perso.djn".
Le joueur se trouve dans l'entrée.
==== lieux.djn ====
L'entrée est un lieu.
Le couloir est un lieu au nord de l'entrée.
Le coffre-fort est un lieu au nord du couloir.
==== objets.djn ====
La clé en or est un objet dans le couloir.
La carte est un objet dans le coffre-fort.
==== actions_perso.djn ====
action examiner ceci:
...
fin action
===== Outils =====
* **VS Code** (extension //donjon-fi-compagnon//) — résolution automatique. Les diagnostics de compilation pointent au bon fichier.
* **Éditeur web** (//donjon-creer//) — bouton « **Ajouter fichier inclus** » à côté de « **Charger** ». Ajouter chaque fichier supplémentaire avant de compiler.
===== Pièges classiques =====
* **Oublier l'extension** — ''inclure "lieux"'' échoue. Toujours écrire ''inclure "lieux.djn"''.
* **Chemin absolu** — non supporté. Les chemins sont toujours relatifs au fichier racine.
* **Sous-dossiers** — supportés (''inclure "chapitres/intro.djn".''), tant que le sous-dossier existe à côté du fichier racine.
===== Voir aussi =====
* [[reference:debogage:|Débogage]] — magnéto et mode triche pour tester un scénario multi-fichiers.
* [[reference:divers:format_fichier_solution|Format .sol]] — fichier solution pour rejouer une partie.