akien-mga / inform6-akien

Some games I wrote in 2008 in Inform 6 (in French, using inform-fr library)
MIT License
2 stars 0 forks source link

[rats] Programming error avec "entrer dans la salle de bain" #3

Open akien-mga opened 3 years ago

akien-mga commented 3 years ago

Dans la salle "Couloir vers la cuisine", le commande entrer dans la salle de bain produit cette erreur :

Couloir vers la cuisine
L’unique couloir de la maison qui joint, du nord au sud, la cuisine et les chambres. 
À l’est se trouvent la salle de bain et les toilettes, mais les deux portes sont 
fermées.

> entrer dans la salle de bain

[** Programming error: Couloir vers la cuisine (object number 42)  has no property<number 0> to read **]

[** Programming error: tried to “move” vous-même to Class **]

[** Programming error: tried to “move” poils to Class **]

[** Programming error: tried to find the “child” of Class **]

L’obscurité
Il fait noir, et vous ne pouvez rien voir.

Le Couloir vers la cuisine

[** Programming error: tried to “give” an attribute to Class **]

C'est peut être un bug dans la lib FR puisque je ne redéfinis pas le verbe "entrer" et je ne gère pas Enter dans cet objet.

akien-mga commented 3 years ago

Le problème semble être que "porte de la salle de bains" est un objet door mais sans door_dir/door_to. C'est en effet une porte fermée qui ne mène nulle part, et apparemment ça plait pas à Inform.

Object  _porte_bains "porte de la salle de bains" couloir_salon
  with  name 'porte' 'portes' 'bains' 'bain' 'salle' 'd^eau',
        article "la",
        description "Une porte de bois peinte en bleue, à poignée de bois.",
  has   ~open door scenery female;
akien-mga commented 3 years ago

Dans le DM4 ils ne précisent pas qu'il est supporté d'avoir une porte qui n'aurait pas de door_dir ni door_to, donc c'est en effet peut être explicitement un bug dans mon code.

https://www.inform-fiction.org/manual/html/s13.html

Edit: Même problème en anglais, donc c'est pas un bug de la lib FR : Screenshot_20210101_150103

stormi commented 3 years ago

J'ai eu le même problème en essayant de faire une porte qui ne mène nulle part, donc je confirme.

akien-mga commented 3 years ago

J'ai testé différentes versions de la stdlib, et le bug a été corrigé dans 6.12.4 :

> enter door
You can’t since the door is in the way.

Avec ce code :

!==========================================================

Constant Story "Door to nowhere";
Constant Headline "^A minimal bug reproduction project^";
Release 0;

Include "parser";
Include "verblib";

!==========================================================

Object room "A lit room"
with   description "You're wondering why a bug report includes some room description,
           but hey, we're interactive fiction writers. There's a closed door.",
has    light;

Object fakedoor "door" room
with   name "door",
       description "A blue, wooden door, obviously asking for an error to be triggered
           given that the programmer didn't bother implementing usage routines.
           It is closed, and cannot be opened. Don't even try to go through it.",
has    door ~open scenery;

!==========================================================

[ Initialise;
    lookmode = 2;
    player.description = "You're such a handsome bug hunter.";
    location = room;
];

!==========================================================

Include "grammar";