Table des matières
3. Le chat sorcier et les animaux
Un cirque sans bête, c’est un théâtre. On installe maintenant Anatole le tigre dans la cage de Lucia, et — surtout — on rencontre enfin Crépu, le chat sorcier d’Aurélien. Crépu sait des choses. Il en dira la moitié. À l’envers.
La classe ''animal''
Côté DSL, un animal se déclare exactement comme une personne, avec la classe animal à la place :
Anatole est un animal dans la roulotte de Lucia. Sa description est "Anatole, le tigre vedette de Lucia. Pelage roux barré de noir, trois cents kilos de muscle assoupis.". réaction d’Anatole: dire "Anatole entrouvre un œil paresseux, vous renifle, et se rendort dans un long ronronnement de moteur diesel.". fin réaction
Dans cet exemple, la commande ‘’parler à’’ est refusée par le moteur — par défaut, un animal ne parle pas, contrairement à une personne. Le bloc ‘’réaction’’ qu’on a écrit reste légitime (on pourra l’invoquer nous-mêmes dans une règle), mais la commande ‘’parler’’ n’y a pas accès tant que l’animal n’est pas marqué comme ‘’parlant’’.
> parler à Anatole
📚 Pour aller plus loin : Noms autorisés, Classes d’objets (objet, personne, animal, vivant, …).
Un animal qui parle
Pour qu’un animal devienne interactif via parler à, on lui ajoute explicitement l’état parlant. C’est le cas de Crépu, qui n’est pas qu’un chat ordinaire :
Crépu est un animal parlant dans la roulotte du maître Aurélien. Sa description est "Un vieux chat gris-ardoise au poil hirsute, un seul œil jaune ouvert, l’autre fermé en permanence. Une mèche blanche lui barre le front.". réaction de Crépu: dire "« Mmh. L’apprenti·e. On me l’avait promis. »". fin réaction
ℹ️animal parlantcombine la classeanimalet l’étatparlant. On peut empiler classe et états dans une même déclaration ; on aurait pu écrire séparémentCrépu est un animal.puisCrépu est parlant..
Les réactions structurées
Avec une réaction simple, Crépu répond toujours pareil. On veut mieux : qu’il réagisse au sujet que le joueur évoque, et qu’il ne se répète pas mot pour mot dès le deuxième passage. C’est le rôle des réactions structurées, qu’on enrichit ici de deux mécaniques :
- la balise
[1ère fois]…[2e fois]…[puis]…[fin]pour faire varier un texte selon le nombre de fois où il a déjà été affiché ; - un bloc conditionnel
si … : … sinon : … fin sià l’intérieur d’une réaction.
Le moteur route selon la présence ou l'absence d'un sujet :
- sans sujet (
parler à Crépu) → blocbasique - avec sujet (
parler à Crépu concernant Xoudemander X à Crépu) → blocconcernant X - sujet sans bloc dédié → bloc
concernant un sujet inconnu
réactions de Crépu: basique: dire "[1ère fois]« Mmh. L’apprenti·e. On me l’avait promis. »[2e fois]« Encore toi ? Bon, je t’écoute. »[puis]« Qu’est-ce que tu veux savoir aujourd’hui ? »[fin]". concernant le tour: si la roulotte de Lucia est visitée: dire "« Le pas de côté. Une vieille recette de famille — enfin, de la famille de quelqu’un d’autre. Tu réuniras les quatre accessoires, puis tu réaliseras le tour. »". sinon dire "« Pas si vite. Il y a un tigre dans ce cirque que tu n’as pas encore regardé en face. »". fin si concernant Aurélien: dire "« Aurélien ? Excellent élève, en son temps. Trop pressé d’apprendre. Comme toi. »". concernant le miroir: dire "« Le miroir est cassé, oui. Pas vraiment cassé — disons… mal ajusté. »". concernant un sujet inconnu: dire "« Ah. Cette question-là, je préfère y répondre plus tard. Beaucoup plus tard. »". fin réactions
tester cet exemple — état final du chapitre.
Quelques commandes pour explorer les réactions de Crépu :
> parler à Crépu > parler à Crépu > parler à Crépu > demander le tour à Crépu > aller dans la roulotte de Lucia > retourner dans la roulotte du maître Aurélien > demander le tour à Crépu > demander Aurélien à Crépu > demander le miroir à Crépu > demander la météo à Crépu
Les trois premiers parler à Crépu permettent de voir la balise [1ère fois] … [puis] en action. demander le tour à Crépu donne une réponse différente selon que la roulotte de Lucia a été visitée ou non. demander la météo déclenche concernant un sujet inconnu (aucun bloc dédié n'existe pour ce sujet).
Trois subtilités à noter dans ce bloc :
- Dans
basique, la balise[1ère fois]…[2e fois]…[puis]…[fin]insère trois variantes du même texte selon le nombre de passages — on évite la répétition mot pour mot sans avoir à écrire trois blocs séparés. - Dans
concernant le tour, la conditionsi la roulotte de Lucia est visitéeutilise l’étatvisité(positionné automatiquement par le moteur dès que le joueur entre une première fois dans le lieu). Crépu s’adapte donc à la progression du joueur sans qu’on ait besoin de gérer un état personnalisé. (On vérifie volontairement la roulotte de Lucia plutôt que celle d’Aurélien : comme « demander à Crépu » oblige à être dans la même roulotte que lui, sa propre roulotte est forcément déjà visitée.) - ‘’concernant X’’ route vers ce bloc pour n’importe quel intitulé — qu’il soit déclaré dans le jeu ou non. Si aucun bloc ne correspond à ‘’X’’, c’est ‘’concernant un sujet inconnu’’ qui prend le relais.
🐾 Crépu en dit beaucoup et rien à la fois. Notez ces phrases-là : elles prendront un sens différent au chapitre 7.
📚 Pour aller plus loin : Les réactions structurées, Balises 1ère fois / 2e fois / puis.
Récapitulatif
X est un animal …déclare un animal (mêmes propriétés qu’une personne).- Par défaut, un animal ne parle pas : il faut ajouter l’état
parlantpour queparler àdevienne utilisable. - Forme courte :
réaction de X: dire "…". fin réaction→ une seule réponse possible. - Forme structurée :
réactions de X: basique: … concernant Y: … concernant un sujet inconnu: … fin réactions. - Le moteur route
parler à Xversbasiqueetdemander Y à Xversconcernant Y. - À l’intérieur d’une réaction, on peut placer des conditions
si … : … sinon : … fin siet des balises dynamiques comme[1ère fois]…[puis]…[fin].
Au prochain chapitre, on s’intéresse aux accessoires de magie qu’Aurélien a laissés dans sa roulotte — et on découvre comment leur attacher des états personnalisés.
Suite : 4. Les accessoires de magie
