Maintenant que mon problème de réinstallation d’Inform est enfin réglé ( Merci, Natrium ) j’en reviens à une bizarrerie qui m’avait fait prendre la décision fatidique de réinstaller : pour examiner quelque chose je suis obligé de prendre le nom de déclaration et pas le printed name de l’objet. Il me semble que c’est nouveau. Exemple :
Dans la chambre bleue.
Vous pouvez voir une cheminée (dans laquelle se trouvent une clé à bougie et un tas de cendres) et un lit.
Issues : sud.
>x cheminée
Vous ne voyez rien de tel, à moins que cela ne soit sans grande importance.
>x lit
Vous ne voyez rien de tel, à moins que cela ne soit sans grande importance.
>x lit1
C'est un lit pour une personne. Il est défait.
Ici, « lit » est le printed name de « lit1 »… Et il y a aussi un problème avec la cheminée.
as tu rajouté
understand "lit" as lit1.
Non et ça marche effectivement, merci. J’ai l’impression que c’est nouveau mais je me trompe sans doute.
Et pour la cheminée ? Elle est déclarée comme ça :
La cheminée is a container.
La cheminée is fixed in place in Chambre1.
A bien y regarder, j’ai d’autres problèmes comme ça dans mon jeu. Il doit donc y avoir une ou des règles générales concernant « Examine », et que je ne connais pas J’ai cherché mais je n’ai rien trouvé. La question de base est "Pourquoi un objet qui existe bel et bien n’est-il pas reconnu par « Examine » ?
À ma connaissance, ça a toujours été ainsi depuis les début d’inform. Comment le système pourrait-il faire le lien entre « lit1 » et « lit » sinon ?
Pour cheminée, peut-être un problème d’accent ou un problème d’interpréteur qui ne lit les pas correctement, essaye :
La cheminee is a container.
La cheminee is fixed in place in Chambre1. The printed name of cheminee is "cheminée"
Problème réglé, merci bien. Mais il semble bien que l’interpréteur a des problèmes avec les accents. Tant pis, il faudra faire avec.
c’est l’interpréteur fourni dans l’IDE d’inform7 ? En ce cas c’est possible. Ça fait la même chose avec Gargoyle ?
Les accents, c’est parce qu’en français ils sont automatiquement enlevés de la commande du joueur, pour pas qu’il ait à les taper. Il faut ajouter une ligne de compréhension (et tu peux toujours déclarer l’objet avec l’accent).
Understand "cheminée" as la cheminée.
(Il y a moyen de modifier ce comportement, par exemple si le joueur doit pouvoir faire la différence entre un foret et une forêt, mais il n’y en a pas vraiment besoin sinon.)
Pour le problème initial, c’est parce que le printed name n’est utilisé que pour afficher l’objet ; pour sa compréhension par le parser, ce sont les lignes de compréhension. Et comme Inform ajoute automatiquement chaque mot du nom dans lequel a été déclaré l’objet au vocabulaire du jeu, tu te retrouves avec le « lit1 » compris. Pour ne pas avoir ce comportement, tu peux déclarer un objet comme « privately-named ». Il ne faut pas oublier d’ajouter des understand, sinon le joueur ne pourra plus y faire référence.
Voir le chapitre « Understanding » de la doc pour plus de détails.
(oon n’est pas obligé de le faire, je mets aussi les objets déclarés avec des diacritiques privately-named, pour pas qu’Inform ajoute un mot avec accents à son vocabulaire, ce qui ne servirait à rien puisque le parser les enlève de la commande du joueur.
@Otto : Oui, c’est l’interpréteur fourni avec Inform 7. Mais comme je disais, on fera avec.
@Natrium : Bien noté, merci.