Merci, Stéphane . Mais ça, je savais déjà.
En y réfléchissant, je me dis que je pourrais déclarer des verbes comme « ajouter », « fourrer », « glisser » et « introduire » comme synonymes de « insérer ». Et là, je ne sais pas faire…
Merci encore. Je ne savais pas qu’on pouvait utiliser « Understand » pour remplacer tout un groupe de mots, c’était ça mon problème.
Mais ce n’est pas fini ! Supposons que je sois en train de préparer un pot-au-feu ( je sais, ce n’est pas la saison ) :
J’ai le droit de dire « Mettre carotte dans casserole », et ça marche très bien.
Mais comment puis-je, à l’intérieur du même tour, intercepter cette action pour exécuter immédiatement une autre qui en est la conséquence directe, par exemple : say « Ça sent bon, maintenant ! »;
Ah, la vache ! Ça aussi, je ne savais pas que c’était possible ; par exemple, Aaron Reed n’en parle pas dans « Creating Interactive Fiction with Inform 7 » qui est ma bible.
Je te conseille si tu ne l’as pas déjà fait, de lire des codes-sources de jeux déjà sortis … Le manuel fourni avec Inform 7 (dans le logiciel même) comporte beaucoup d’exemples bien foutus aussi.
Un exemple que je viens de trouver :
After inserting something into the well:
consider the flotation rules for the noun;
if the rule succeeded:
say "[The noun] bobs on the surface.";
otherwise:
move the noun to the well bottom;
say "[The noun] sinks out of sight."
Pour info tu peux aussi écrire :
Before (action quelconque) :
say « Blabla. ».
ça peut permettre d’interdire une action si les conditions ne sont pas réunies, par exemple :
Before drinking a beer when the time of day is before 11 am :
say "On ne picole pas le matin." ; stop the action.
La solution que StephaneF t’a proposée permet d’ajouter une nouvelle ligne de compréhension pour une action. C’est très bien, mais si tu veux que ta liste de mots soit considérée comme synonyme de « insérer », on peut aussi utiliser la formulation suivante :
Understand the commands "ajouter", "fourrer" and "introduire" as "inserer".
[Sans l'accent car c'est défini comme ça dans l'extension, et qu'il faut éviter pour la compréhension.]
La nuance, c’est que ça ajoute ces commandes en synonyme d’une autre commande plutôt que faisant référence directement à une action. Donc si « insérer » mène à une autre action que tu auras créée (différente de « inserting it into ») alors ces synonymes seront aussi pris en compte.
Tout dépend donc de si tu veux ajouter des commandes à une action ou créer des synonymes (du point de vue linguistique) à des commandes qui existent déjà.
J’espère que tu as compris la nuance !