Un ptit bug dans les biblis d'I6 ?

Il y a encore un soucis sur ton site avec l’exemple sur parse_name : (hlabrande.fr/if/inform6trucs.html)parse_name [ n w; w = NextWord(); while(w) { if (w = 'nom' && action_to_be == ##Action && condition) n=n+10; else n++; w = NextWord(); } return n; ],Il n’y a aucune raison d’incrémenter n (n++) si aucune des conditions n’est satisfaite.
Il y a aussi une erreur : w == ‹ nom › pas w = ‹ nom ›.

NextWord() pose d’autres problèmes : il parcourt l’intégralité de la phrase. Donc, si celle-ci est composée de plusieurs commandes séparées par THEN(1-3)__WD, le résultat de n peut-être erroné.
« >examine la pomme puis mange la pomme. » Ici, n pour ‹ pomme › vaut 2 au lieu de 1.
Il vaut mieux vérifier que NextWord() soit différent de THEN1__WD : While (w && w ~= THEN1__WD) ou mieux While (w && w ~= THEN1__WD or THEN2__WD or THEN3__WD)

Dans les bibliothèques (zcode & glulx) :[ NextWord i j; if (wn > parse->1) { wn++; rfalse; } i = wn*2-1; wn++; j = parse-->i; if (j == ',//') j = comma_word; if (j == './/') j = THEN1__WD; return j; ];Il manque éventuellement des paramètres pour : j == ‹ .// › if (j == './/' or THEN2__WD or THEN3__WD) j = THEN1__WD;

Il y a aussi une erreur dans tes Petits trucs bien utiles en Inform 6, concernant Life : il manque Order.

Oui, tu as raison, ça doit être « si c’est le bon mot, alors si c’est la bonne action donner un plus gros score » !
Et merci aussi pour Order, j’avais oublié !

Pour ce qui est de THEN, j’avoue que je ne sais pas ce qui se passe à ce moment-là : est-ce que le parser coupe en plusieurs commandes, mais seulement après que parse_name ait fait son oeuvre ?
Et si j’ai bien compris, le bug du NextWord(), une fois qu’il est résolu, plus besoin de THEN2__WD et THEN3__WD dans le test ?
Et si le but de mon code c’est juste de désambiguer, est-ce que c’est grave si je ne fais pas le test pour THEN1__WD ? Il me semble que même si je ne fais pas le test ça a quand même pour effet de désambiguer. Après, les scores seront peut-être « anormaux », mais je sais pas si ça a grande importance en terme de comportement du jeu… ?

Non, j’avais vérifié : il parcourt bien l’intégralité de la phrase.

Ce n’est pas un bogue, mais encore une bizarrerie… ça faciliterait effectivement la tâche.

Pour l’instant, cela pose problème pour la 6/11 et la 6/12 :
http://www.intfiction.org/forum/viewtopic.php?f=7&t=15730&p=80638#p80637
S’il y a bogue et qu’il est corrigé, je ne vois pas pourquoi cela ne continuerait pas à poser des problèmes (si tu trouves dans la énième phrase, ce que tu cherches dans la première…)