Page 1 sur 1

apostrophe

MessagePosté: Mer Avr 23, 2014 2:20 pm
par StephaneF
Eric, j'ai réinstallé ton extension French, la dernière MAJ , pour tester ce truc avec les tirets et les apostrophes.

J'ai ceci

Code: Tout sélectionner
The AppartAlix is a bâtiment in Etage4. The printed name is "appartement d[']Alix". Understand "appartement" or "appartement d Alix" as the AppartAlix.


Or une fois ingame, si je tape "entrer dans l'appartement d alix" ou "entrer dans l'appartement d-alix", ça fonctionne

par contre "entrer dans l'appartement d'alix" non - c'est bien l'apostrophe qui pose problème...

Re: Bon anniversaire Inform ! (20 ans)

MessagePosté: Ven Avr 25, 2014 12:51 pm
par Otto Grimwald
Chez moi ça fonctionne pourtant :

> x appartement d'alix
Rien de particulier concernant l'appartement d'Alix.


comme je n'ai pas tout le jeu, j'ai ajouté l'objet dans un des miens:

Code: Tout sélectionner
Ville is a room. The AppartAlix is in Ville. The printed name is "appartement d[']Alix". Understand "appartement" or "appartement d Alix" as the AppartAlix.


As-tu essayé ça dans un jeu vraiment minimaliste ?


... plus que 5 jours...

Re: Bon anniversaire Inform ! (20 ans)

MessagePosté: Ven Avr 25, 2014 5:40 pm
par StephaneF
Code: Tout sélectionner
Include French by Eric Forgeot. Use French Language.

World is a room.

The truc is a thing in World. The printed name is "appartement d[']Alix". Understand "appartement d Alix" as the Truc.


World
Vous pouvez voir un appartement d'Alix.

>x appartement d'alix
Vous ne voyez rien de tel, à moins que cela ne soit sans grande importance.


incompréhensible ...

Re: Bon anniversaire Inform ! (20 ans)

MessagePosté: Sam Avr 26, 2014 7:43 am
par Otto Grimwald
Peux-tu taper "version" ?

Re: Bon anniversaire Inform ! (20 ans)

MessagePosté: Sam Avr 26, 2014 10:43 am
par StephaneF
Oui m'sieur

Blabla
An Interactive Fiction par aaaaaaaaaaaaa
Release 1 / Serial number 140426 / Inform 7 build 6G60 (I6/v6.33 lib 6/12N) SD
Identification number: //34C16B2C-6631-4F29-8890-5744AA9A2705//
Interpreter version 0.4.7 / VM 3.1.2 / Library serial number 080126
Standard Rules version 2/090402 by Graham Nelson
French version 9/110414 by Eric Forgeot

Re: Bon anniversaire Inform ! (20 ans)

MessagePosté: Sam Avr 26, 2014 12:35 pm
par Otto Grimwald
je n'avais pas envoyé sur le site d'inform mes derniers ajouts. Il y a une version plus récente sur ce site :
http://svn.tuxfamily.org/viewvc.cgi/inf ... 96&view=co

Désolé pour le dérangement.

(plus que 4 jours... dommage qu'ils n'aient pas ciblé le 28 avril qui est pourtant la date anniversaire...)

Re: Bon anniversaire Inform ! (20 ans)

MessagePosté: Sam Avr 26, 2014 12:42 pm
par StephaneF
J'ai copié collé le nouveau code dans ton extension, dans mon programme, et ......... ça ne change rien.

Le mystère s'épaissit !

Re: Bon anniversaire Inform ! (20 ans)

MessagePosté: Sam Avr 26, 2014 1:07 pm
par Otto Grimwald
Bon, c'est ma faute, dans le dernier jeu que je développais, j'avais rajouté un truc pour éviter ce problème, et j'avais oublié que c'était pour ça que ça fonctionnait.

Le code complet est :

Code: Tout sélectionner
Include French by Eric Forgeot. Use French Language.

Include Punctuation Removal by Emily Short.

After reading a command:
   remove apostrophes.
   
Ville is a room.

The truc is in Ville. The printed name is "appartement d[']Alix". Understand "appartement" or "appartement d Alix" as the Truc.



Du coup ça devrait fonctionner dans Azthath sans faire d'autre modification que celle-ci. (en espérant que ça ne rajoute pas de latence)

Bon anniversaire Inform ! (20 ans)

MessagePosté: Sam Avr 26, 2014 1:38 pm
par StephaneF
Ce coup-ci c'est bon :) super, merci

Re: Bon anniversaire Inform ! (20 ans)

MessagePosté: Mar Avr 29, 2014 8:32 am
par StephaneF
Bon Eric, navré mais en fait un nouveau problème se pose

Code: Tout sélectionner
"Blabla" by aaaaaaaaaaaa

Include French by Eric Forgeot. Use French Language.

Include Punctuation Removal by Emily Short.

After reading a command:
   remove apostrophes.

World is a room.

The truc is a thing in World. The printed name is "appartement d[']Alix". Understand "appartement d Alix" as the Truc.

The artichaud is a thing in World.


( même code qu'avant, j'ai juste rajouté un artichaud )

World
Vous pouvez voir un appartement d'Alix et un artichaud.

>prendre l'artichaud
Vous ne voyez rien de tel, à moins que cela ne soit sans grande importance.

>prendre le artichaud
D'accord.


Apparemment les apostrophes ne sont plus reconnues, dans les cas normaux où elles l'étaient auparavant !

Re: apostrophe

MessagePosté: Mer Avr 30, 2014 8:00 pm
par Otto Grimwald
je pense que c'est normal, la bibliothèque ne doit prendre en compte que "le, la, les", et pas "l", enfin normalement c'est pris en compte par ce code dans la bibliothèque :

Code: Tout sélectionner
      'le'     $$100000100000    DEFART_PK       NULL
      'la'     $$010000010000    DEFART_PK       NULL
      'l^'     $$110000110000    DEFART_PK       NULL


mais l^ signifie apostrophe en code Inform6.

En rajoutant
Code: Tout sélectionner
After reading a command:
   remove apostrophes.


je présume ça provoque ce bogue parce que "l" tout seul n'est pas pris en compte.

En attendant on peut rajouter ça mais il faudrait le faire pour chaque mot débutant par une voyelle :

Code: Tout sélectionner
Understand "l artichaud" as artichaud.


Je suis certain qu'on peut faire cela automatiquement avec les regex (chapitre 19.8 du manuel) mais pour le moment je n'y arrive pas. Et puis on verra avec la dernière version d'inform comment c'est géré.

Par exemple pour le moment j'ai ça :

Code: Tout sélectionner
After reading a command:
   remove apostrophes;
    let N be indexed text;
    let N be the player's command;
    replace the regular expression " l " in N with " ";
    say "[N][paragraph break]";


>x l'artichaud
x artichaud

Vous ne voyez rien de tel, à moins que cela ne soit sans grande importance.


mais je ne sais pas comment le réinjecter dans la commande initiale.



Il est peut-être possible aussi d'ignorer une commande (un mot, enfin, une lettre)

Re: apostrophe

MessagePosté: Mer Avr 30, 2014 8:15 pm
par Otto Grimwald
J'ai trouvé :

Code: Tout sélectionner
Include Punctuation Removal by Emily Short.

The last command is an indexed text that varies.

After reading a command:
   remove apostrophes;
   now the last command is the player's command;
    let n be indexed text;
    let n be the player's command;
    replace the regular expression "(.*) l (.*)" in n with "\1 \2";
    replace the regular expression "(.*) l (.*)" in the last command with "\1 \2";
 [say "([last command])[line break]"; [pour vérifier la commande remplacée] ]
change the text of the player's command to the last command.


par contre ça fait analyser chaque commande tapée par le joueur pour détecter la chaîne " l " (c'est à dire le résultat de punctuation removal), j'ai peur que ça surcharge encore le jeu...

Re: apostrophe

MessagePosté: Jeu Mai 01, 2014 3:50 pm
par StephaneF
Tu veux dire ralentir le jeu en cours d'utilisation ? Je vais tester, en tous cas, merci de t'être décarcassé !

Re: apostrophe

MessagePosté: Mer Juil 30, 2014 12:15 am
par Natrium
Bon, je remonte un autre sujet assez ancien, mais comme il existe, je vais pas en faire un autre.

Azathoth, est-ce que tu as eu des ralentissements avec le code d'Otto, finalement ? En fait, il n'est pas super optimisé (variable last command inutile, et qui entraîne deux fois l'utilisation de regex…).

Pour la nouvelle extension, j'ai fait ce code :
Code: Tout sélectionner
Include Punctuation Removal by Emily Short.

After reading a command:
   remove apostrophes;
   if the player's command includes "l":
      cut the matched text;
   [say "[the player's command][command clarification break]"). [pour tester si ça marche]]

Ça semble marcher, tu pourrais tester ?


Aussi (et hors-sujet), en parlant de ralentissements, je sais qu'Azthath est un gros jeu et que tu as déjà eu des problèmes avec ça. La dernière version d'Inform, les jeux compilés sont encore plus lourds, mais plus rapides, d'après ce que j'ai lu. T'es pas obligé de tout reconvertir bien sûr, mais au moins tu le saura.

Re: apostrophe

MessagePosté: Mer Juil 30, 2014 12:50 am
par StephaneF
Je vais tester, je te dirai ça, merci. Je crois que j'avais abandonné l'idée d'inclure des apostrophes dans les commandes du joueur, à cause d'un autre bug (sans aucun rapport) que ça produisait par ricochet, mais je ne sais plus lequel :(

Pour ce qui est de convertir Azthath je crois que je vais d'abord essayer de finir une version viable de mon jeu, avec l'avant dernière build, et éventuellement, ensuite, essayer de le mettre à niveau :) faudrait déjà que toutes les extensions que j'utilise aient été mises à jour, et c'est loin d'être le cas.

Re: apostrophe

MessagePosté: Mer Déc 03, 2014 5:18 am
par Natrium
Je remonte le sujet pour dire que j'ai trouvé la solution : il n'y a pas besoin d'enlever les apostrophes, il suffit d'ajouter une espace dans les lignes de compréhension :
Code: Tout sélectionner
Understand "appartement d' Alix" as the AppartAlix. [Noter l'apostrophe ET l'espace qui le suit]

C'était tout bête, car comme l'extension française ajoute une espace après l'apostrophe, il suffisait de l'ajouter aussi.

Re: apostrophe

MessagePosté: Mar Juin 09, 2015 1:25 am
par ciseur68
Waw !
Enfin une vraie solution, merci beaucoup !