Je suis en train de lire un livre sur Inform6 (celui avec Guillaume Tell), et parallèlement, voici pèle-mèle ce que j'ai envie d'essayer d'implémenter en ce moment :
- Code: Tout sélectionner
un sujet est une liste d'aspects instanciés
un aspect est un type de variable associé à des phrases de manipulation
# Le sujet "animal" (masculin)
Par nature :
- Il a un certain âge.
- Il a un état de santé.
# Le sujet "humain" (masculin)
C'est :
- un animal
Par nature :
- Il porte un nom.
# Le sujet "Batman" (nom propre, masculin)
C'est :
- un humain
Par nature :
- Le nom de Batman est Bruce.
# Le nombre "âge"
Pour le définir :
- SUJET1 a maintenant <N> an[s].
Pour le déclarer :
- SUJET1 a un certain âge.
Pour l'évoquer :
- l'âge de SUJET1
# Le texte "nom"
Pour le définir :
- SUJET1 s'appelle maintenant <T>.
Pour le déclarer :
- SUJET1 porte un nom.
Pour l'évoquer :
- le nom de SUJET1
# L'état "santé"
Pour le déclarer :
- SUJET1 est vivant.
Pour le définir :
- SUJET1 est maintenant <E>.
Il peut être :
- en bonne santé
- malade
- blessé[e]
- mort[e]
Pour l'évoquer :
- l'état de santé de SUJET1
# Le lien "appartenance"
Pour le définir :
- SUJET2 appartient maintenant à SUJET1.
- SUJET1 possède maintenant SUJET2.
Pour le déclarer :
- SUJET2 appartient à quelqu'un.
- SUJET1 peut posséder des choses.
Pour l'évoquer :
- le[s] propriétaire[s] de SUJET2
- ce que possède SUJET1
# L'état indépendant "météo" [féminin]
Il peut être :
- ensoleillé
- nuageux
- orageux
- il pleut
Pour l'évoquer :
- le temps
Pour évoquer "il pleut" :
- il pleut
# Le texte indépendant "élément de la liste des courses"
Pour en définir un :
- Il faut acheter <T>.
Pour en supprimer un :
- Plus besoin d'acheter <T>.
Pour l'évoquer
- l[a|es] chose[s] à acheter
# L'action "mettre SUJET2 en état d'arrestation"
Si SUJET1 n'est pas un humain, ou si SUJET2 n'est pas un humain :
cette action est terminée ;
c'est tout.
Si SUJET2 possède une arme :
SUJET1 doit désarmer SUJET2 ;
c'est tout.
SUJET1 doit passer les menottes à SUJET2.
SUJET1 doit lire ses droits à SUJET2.
SUJET2 est maintenant en état d'arrestation.
# L'action "faire les courses"
SUJET1 doit aller au supermarché.
Le nombre local "la facture" est maintenant 0.
Pour chaque élément de la liste des courses :
SUJET1 doit prendre la chose à acheter ;
La facture est maintenant ((la facture) + (le prix de la chose à acheter)).
C'est tout.
SUJET1 doit passer à la caisse.
Le porte-monnaie de SUJET1 est maintenant ((le porte-monnaie de SUJET1) - (la facture)).
SUJET doit rentrer à la maison.
# Le lien "parent-enfant"
Pour en définir un :
- SUJET1 est maintenant le père de SUJET2.
- SUJET1 est maintenant la mère de SUJET2.
- SUJET2 est maintenant le fils de SUJET1.
- SUJET2 est maintenant la fille de SUJET1.
Pour l'évoquer :
- l['|es ]enfant[s] de SUJET1
- le[s] parent[s] de SUJET2
# L'action "offrir un cadeau de noël aux enfants de SUJET2"
Pour tous les enfants de SUJET2 :
SUJET1 doit offrir un cadeau à l'enfant ;
c'est tout.
Ca reste pour l'instant un modèle d'exécution très basique, impératif, avec des objets (les "sujets") qui ne sont finalement que des structures de variables. Je bidouille, je cogite... Si cela vous inspire des commentaires...
