Petit Gnome

An interactive fiction by Otto Grimwald (2006) - the Inform 7 source text

Home page

Contents
Previous

Complete text
Part 2 - A l'intérieur



Salon is a room.
The description of Salon is "C'est un joli salon. [if Salon is unvisited] Vous voyez la cheminée au fond de la pièce, un feu joyeux y brûle. [end if]"

In salon are chenets.Chenets are a supporter. The description of chenets is "Les chenets de la cheminée". The printed name of chenets is "des chenets". Understand "cheminée/hâtre/chenets" as chenets.

The feu is a switched on device in salon. It is fixed in place. The description of feu is "Ce feu est là pour chauffer la pièce, mais il vous empêche de faire correctement votre travail."

A vase is in salon. The printed name of vase is "vase". Understand "eau/l'eau/de l'eau/vase" as vase.

Instead of switching off feu :
    if player has vase
    begin;
        say "Vous utilisez l'eau du vase pour éteindre le feu.";
        award 1 point;
        continue the action;
    Otherwise;
        say "Avec quoi voulez-vous éteindre ce feu ?";
        stop the action;
    end if;

[Understand "éteindre le feu avec le vase" as switching off.]
    
Instead of switching on feu, say "Vous ne pouvez pas le rallumer."

Before putting chaussons on chenets :
    if feu is switched off
    begin;
        award 1 point;
        say "Ils ont dû oublier de le faire. Heureusement que vous êtes consciencieux et que vous le faite à leur place.";
    Otherwise;
        say "Le feu brûlerait ces chaussons";
        stop the action;
    end if;

    
[Carry out switching off the feu:]


Index map with EPS file,
room-name-length set to 15,
route-thickness set to 2,
room-outline set to off,
map-outline set to off,
route-colour set to "Chocolate",
room-colour set to "Burly Wood",
title set to "Petit Gnome",
font set to "Baskerville".


[nouveaux verbes]

Mendier is an action applying to nothing.
Understand "mendier" as mendier.

Check mendier:
    if location is in dehors, say "Vous ne pouvez vous résoudre à faire cela ici." instead.
Carry out mendier:
    say "Vous ne voyez pas l'intérêt de faire cela ici."


Include (-

-).

[parler]


A person has a table-name called conversation.

The conversation of gnome is the Table of gnome Conversation.

Instead of asking someone about something:
    let the source be the conversation of the noun;
    if topic understood is a topic listed in source
    begin;
        if there is a cle entry
        begin;
            say "";
        otherwise;
            say "";
        end if;
        if there is a turn_stamp entry
        begin;
            say "[The noun] vous a dit que [summary entry]";
        otherwise;
            change turn_stamp entry to the turn count;
            say "[reply entry][paragraph break]";
        end if;
    otherwise;
        say "[The noun] vous regarde sans comprendre. Vous savez parler le langage gnome, mais celui-ci est resté si longtemps auprès des humains qu'il ne le connaît plus bien lui-même. Essayez de le questionner autrement ou sur un autre sujet.";
    end if.


Understand "parler a [someone]" as chatting.
Understand "parler au [someone]" as chatting.

Understand "parler avec [someone]" as chatting.

[Understand "parler à [someone]" as a mistake ("Utilisez 'questionner' quelqu'un au sujet de quelque chose.").]


Understand "talk to [someone]" as a mistake ("Utilisez 'questionner' quelqu'un au sujet de quelque chose.").

Understand "talk [someone]" as chatting.
[Understand "parler avec [someone]" as chatting.]


[Understand the command "parler" as talk.]

Understand the command "bavarder" as parler avec.
[Understand the command "questionner" as parler avec.]


[Understand the command "parler avec/parler a" as talk.]


chatting is an action applying to one thing.

Carry out chatting:
    say "Vous ne savez pas quoi dire."



Table of Gnome Conversation
libelle   topic   reply   summary   cle   turn_stamp
"la maison"   "maison/bâtisse"   " 'Aye, je suis le gardien de la maison.' "   "il était le gardien de cette maison."   1   a number
"pour entrer"   "rentrer/entrer/entrée/entree"   "Il secoue sa tête : 'Nan, personne ne peut rentrer ici, sauf les propriétaires et ceux qu'ils invitent.'"   "il refuse de laisser entrer les étrangers à cette maison."  


Instead of chatting Gnome :
    say "Vous pouvez questionner [the noun] à propos de ces sujets : ";
    let the source be the conversation of the noun;
    repeat with N running from 1 to the number of rows in the conversation
    begin;
    say " [libelle in row N of the table of Gnome Conversation], ";
    end repeat;
    say " et vous ne voyez pas trop quoi d'autre pour le moment.[paragraph break]".


Include (-


#IFDEF ForeignLanguage;

        
Extend 'questionner' first
        * creature -> ask;
        
Extend 'dire' first
        * creature -> ask;
        
Extend 'sortir' last
        * 'du' noun -> exit;
        
Extend 'faire' first
* 'peur' 'au' creature -> Attack
* 'peur' creature -> Attack
* 'peur' 'a'/'au' creature -> Attack;

#IFNOT;
#ENDIF;
-).

[Tester]

Test entrer with "descendre / aller à droite / questionner le gnome au sujet de la maison / faire peur au gnome / prendre les chaussons et la clef / aller à l'ouest / ouvrir la porte avec la clef / ouvrir la porte / entrer"

Test finir with "prendre le vase / éteindre le feu / mettre les chaussons sur les chenets / sortir / monter /prendre le cadeau / mettre le cadeau dans la cheminée / entrer dans le traineau"

Test tout with "test entrer / test finir"