La syntaxe d’Inform 7 est parfois frustrante, souvent logique, par contre cela peut prendre un peu de temps et de relecture du manuel pour s’y adapter.
À l’utilisation de « before », on peut ensuite soit continuer l’action (réponse par défaut + action associée), soit l’arrêter (stop the action).
Pour ton exemple :
Before removing bambous from the bocal:
say "Vous retirez en douceur le décor et constatez que le socle grisâtre en plastique était plus à son avantage masqué par les graviers. Le poisson s'agite quand des graviers manquent de lui retomber dessus, et vous lance un regard de poisson aussi furieux qu'un regard de poisson puisse l'être.";
Continue the action.
pour éviter le « ok », tu peux faire à la place de continue the action :
silently try taking the bambous
ou encore
move the bambous to player
Pour les conditions, je pense que ce n’est pas possible de tester que quelque chose se déroule (taking / takes), il faut intercepter cela avec « before » ou « instead ». Mais if et when peut fonctionner pour tester un état : « if the player has bambou » par exemple, cet état étant testé avec un instead ou before. Concrêtement, je crois que tu ne peux pas avoir un « if » au début d’un bloc, il faut qu’il soit pris dans un contexte. Étudie du code existant, par exemple ce jeu, même si on peut coder mieux :
anamnese.online.fr//site2/if/inform7/Sarvegne/
(attention, j’ai fait pas mal d’erreurs de débutant là dedans, en particulier pour les « if visited »)
ou bien les jeux des spécialistes d’inform :
inform-fiction.org/I7/Worked Examples.html
j’utilise beaucoup les exemples d’Emily Short pour trouver des astuces ou des manières de faire.
Pour les lieux déjà visité, c’est facile, tu as donné l’exemple toi-même :
The description of Chambre1 is "[if not visited]J'entrais dans ce superbe endroit. [end if]Il y avait là blablabla.".
J’utilise souvent cela pour ajouter une précision la première fois que l’on entre, ensuite il y a une description générale.
Mais on peut faire également :
The description of Chambre1 is "[if not visited]J'entrais dans ce superbe endroit pour la première fois. [otherwise] J'étais déjà venu ici. [end if]".
Pour les accords, je pense que c’est un bug qui existe déjà dans la version inform 6. Je vais voir si je peux le corriger, soit en faisant l’accord, soit en mettant une réponse plus neutre. Tu peux en attendant modifier le comportement par défaut de cette réponse.
(genre instead of eating something etc…)