(I7) : mettre dans

Bonjour,

Modifier les actions de base contenues dans I7 m’a toujours fait peur. Alors, voilà :

Sauf erreur il existe une action ( approximativement ) : Mettre [qq chose] sur [supporter]

Comment faire pour obtenir : Mettre [qq chose] dans [container] ?
Tout en gardant la règle standard, bien sûr.

Merci d’avance.

L’action pour ça est " Inserting it into "

Merci, Stéphane :smiley: . 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…

Understand "mettre [something] dans [a container]" as inserting it into.

(ou alors je n’ai pas compris ce qui te pose problème)

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 ! »;

After inserting the cartotte into the marmite, say "Miam miam.".

ou même si tu veux qque chose de plus complexe :

After inserting the cartotte into the marmite: say "Miam miam."; now the BonneOdeur is in Cuisine.

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.

Honneur et gloire à toi, ô Grand Ancien !

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.

Mais tu le savais peut-être déjà.

C’est ce que je fais juste en ce moment avec « Ma princesse adorée » de Hugo Labrande.
Excellent jeu, très instructif et très marrant.

Pour en profiter pleinement je suis en train de le ré-écrire en Inform 7 à ma sauce à moi, d’où ma question de départ.

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 !