====== 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.