[Inform 7] Code subdivisé en plusieurs fichiers

Pour discuter des langages que nous utilisons pour réaliser nos jeux : problèmes, solutions, suggestions...

Modérateurs: Stormi, Otto Grimwald

[Inform 7] Code subdivisé en plusieurs fichiers

Messagepar Corax le Dim Fév 04, 2018 11:14 am

Salut à tous !

Je vais sous peu commencer à coder mon fameux nouveau projet. Avant de m’y plonger, j’aimerai cependant éclaircir quelques points techniques qui demeurent encore un peu nébuleux, histoire de bien faire les choses.

Je m’intéresse ici à une question que j’avais déjà abordée, mais je ne retrouve plus le sujet en question, probablement parce que j’ai dû aborder ladite question dans un topic qui n’y était pas spécifiquement consacré. Du coup, autant tout reprendre depuis le début.

Comment faut-il s’y prendre pour créer une extension, puis l’insérer dans un projet (sachant que l’extension ne sert qu’à ce projet et ne doit donc pas être installée comme une extension générale) ?

Faut-il bien comprendre la commande "include" comme ceci : mets ici tout le code que tu trouves dans le fichier que je t’indique.
Ainsi, une variable générale déclarée dans l’extension, sera-t-elle bien accessible partout où l’extension est incluse ?

Appelons A le fichier source de base, B et C des extensions.

Si B est inclus dans C et C dans A, est-ce que B est du coup inclus dans A ?
Si B est inclus dans A et C, et que C est inclus dans A, est-ce que le fait que B soit au final inclus deux fois va-t-il posé un problème ou alourdir inutilement le code ?

Je cherche en fait à savoir si la structure suivante est viable :
• Fichier source de base : contenu classique du jeu, celui dont je suis moi-même l’auteur
• Première extension : partie technique du jeu, la surcouche avec laquelle le contenu est créé
• Les autres extensions : du contenu supplémentaire

Voilà, voilà !
Corax
Grand Ancien
 
Messages: 282
Inscription: Mer Juin 08, 2016 10:00 am

Re: [Inform 7] Code subdivisé en plusieurs fichiers

Messagepar StephaneF le Dim Fév 04, 2018 12:28 pm

Tu crées une extension en allant dans File puis New Extension. Tu indiques le nom de l'extension, et le nom de son auteur (au hasard : le tien).

L'extension apparaîtra donc dans son petit dossier, dans le dossier général où sont toutes les extensions que tu as déjà crées ou installées.

Tu appelles l'extension dans ton fichier source, comme tu dis, en écrivant :

Include (nom de l'extension) by (nom de l'auteur).

Si tu crées une variable dans une extension, elle sera, oui, prise en compte dans tous les projets où tu utiliseras cette extension.

Personnellement j'ai regroupé tout ce que j'ai pu créer comme règles et comme variables, comme kinds, etc ... dans des extensions que j'utilise ensuite dans tous mes projets.
Avatar de l’utilisateur
StephaneF
Grand Ancien
 
Messages: 545
Inscription: Jeu Déc 27, 2007 3:53 pm
Localisation: Moselle

Re: [Inform 7] Code subdivisé en plusieurs fichiers

Messagepar Corax le Dim Fév 04, 2018 4:45 pm

Merci StephaneF pour ta réponse, ainsi que pour la discussion sur Discord.
Il me semble avoir tout compris.
Corax
Grand Ancien
 
Messages: 282
Inscription: Mer Juin 08, 2016 10:00 am

Re: [Inform 7] Code subdivisé en plusieurs fichiers

Messagepar Natrium le Lun Fév 05, 2018 6:40 pm

Sur 6L38, on peut mettre les extensions dans le dossier materials de ton jeu. Comme ça, ça ne s'affiche plus avec les extensions générales et c'est plus facile à suivre (avec Git par exemple).

Il faut créer un dossier « Extensions » dans le dossier materials, puis un dossier ayant le nom de l'auteur de l'extension à l'intérieur. C'est là que tu mettras tes extensions.

Ça donnerait quelque chose de ce genre :

Code: Tout sélectionner
boussole-des-brumes.inform
boussole-des-brumes.materials
    Extensions
        Corax
            Mon Extension.i7x

L'inclusion et le reste fonctionne pareil. Aussi, quand tu ouvres une extension spécifique au projet depuis Inform, il ne faut pas cliquer sur le bouton « Installer » sinon ça l'installera dans le dossier des extensions normales.


Enfin, Inform n'a pas de notion de qui inclut quoi. Si une extension est incluse quelque part, alors elle l'est de manière générale, ça ne change rien si elle est incluse depuis une autre extension ou la source principale.

Et si une extension est incluse plusieurs fois, Inform ignore les inclusions redondantes.
Avatar de l’utilisateur
Natrium
Grand Ancien
 
Messages: 1164
Inscription: Mar Oct 04, 2011 11:18 pm

Re: [Inform 7] Code subdivisé en plusieurs fichiers

Messagepar Corax le Lun Fév 05, 2018 8:50 pm

Merci Natrium ^^
Clair et précis, comme toujours. :)
Corax
Grand Ancien
 
Messages: 282
Inscription: Mer Juin 08, 2016 10:00 am


Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron