Quelque chose d'étrange

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

Modérateurs: Stormi, Otto Grimwald

Quelque chose d'étrange

Messagepar tvisarl le Lun Aoû 22, 2016 7:29 am

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 :

Code: Tout sélectionner
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.
tvisarl
Grand Ancien
 
Messages: 166
Inscription: Sam Juin 18, 2016 9:20 am

Re: Quelque chose d'étrange

Messagepar Otto Grimwald le Lun Aoû 22, 2016 9:03 am

as tu rajouté

Code: Tout sélectionner
understand "lit" as lit1.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3028
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Quelque chose d'étrange

Messagepar tvisarl le Lun Aoû 22, 2016 10:07 am

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 :

Code: Tout sélectionner
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" ?
tvisarl
Grand Ancien
 
Messages: 166
Inscription: Sam Juin 18, 2016 9:20 am

Re: Quelque chose d'étrange

Messagepar Otto Grimwald le Lun Aoû 22, 2016 1:30 pm

À 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 :

Code: Tout sélectionner
La cheminee is a container.
La cheminee is fixed in place in Chambre1. The printed name of cheminee is "cheminée"

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3028
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Quelque chose d'étrange

Messagepar tvisarl le Lun Aoû 22, 2016 2:17 pm

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.
tvisarl
Grand Ancien
 
Messages: 166
Inscription: Sam Juin 18, 2016 9:20 am

Re: Quelque chose d'étrange

Messagepar Otto Grimwald le Lun Aoû 22, 2016 2:40 pm

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 ?

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3028
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Quelque chose d'étrange

Messagepar Natrium le Lun Aoû 22, 2016 3:37 pm

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).
Code: Tout sélectionner
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.
Avatar de l’utilisateur
Natrium
Grand Ancien
 
Messages: 1164
Inscription: Mar Oct 04, 2011 11:18 pm

Re: Quelque chose d'étrange

Messagepar tvisarl le Lun Aoû 22, 2016 7:57 pm

@Otto : Oui, c'est l'interpréteur fourni avec Inform 7. Mais comme je disais, on fera avec.

@Natrium : Bien noté, merci.
tvisarl
Grand Ancien
 
Messages: 166
Inscription: Sam Juin 18, 2016 9:20 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