salut,
il n'est pas possible à ma connaissance de faire comme ça. Cela m'aurait bien arrangé également, mais effectivement les développeurs d'Inform7 n'ont pas prévu cela. Peut-être cela tient-il à une difficulté technique, ou peut-être qu'ils ont voulu éviter que les auteurs ne fassent du code spaghetti.
Pour pouvoir faire des choses plus compliquées, il faudra donc passer par une petite astuce pour imbriquer les tests :
Ici je voulais pouvoir indiquer qu'il y avait un chien ou une chienne, avec les accords qui vont bien :
- Code: Tout sélectionner
To say chien domestique:
say "domestiqué[If chien is female]e[otherwise][end if]"
To say un loup:
say "[If chien is female]une louve[otherwise]un loup[end if]"
The chien is an animal in desert. The description of chien is "[if chien is hostile]Cet animal pourtant placide dévoile des trésors d'agressivité quand il s'agit de se défendre face à de la violence injustifiée. [otherwise]Cet animal semble accueillant et il jappe joyeusement à votre approche. Même s'il ressemble un peu à [un loup], c'est [a chien] visiblement [chien domestique]. [end if]Où sont ses maîtres ?".
(c'est tiré du code d'un jeu en développement disponible ici : https://bitbucket.org/farvardin/la_vall ... rieuse/src)Cela dit, je ne sais pas si c'est aisé ni même possible d'appliquer cela dans ton exemple. Tu devrais pouvoir t'en sortir avec une construction plus traditionnelle, du genre :
if the player is habillé and the player is rasé and the player is lavé
say blabla
if the player is habillé and the player is rasé and the player is not lavé
say blabla
etc
mais il faudra indiquer tous les cas possibles. Avec plus de caractéristiques, ça serait impossible, il faudrait sans doute afficher le résultat sous forme d'une liste. Voir chapitre 20 du guide d'inform7, mais je dois avouer n'avoir jamais utilisé cela. Ça semble apparemment assez puissant.