1

我有一个 Inform 7 故事,其中玩家在容器内开始游戏。当玩家离开容器时,我想说一些文字。当我使用条件:“退出后...”时,出现错误。“进入后......”有效,所以我认为我只是有错误的退出动词。

这是有问题的代码:

The Hibernation Chamber is a room. 
The Hibernation Pod is a container in the Hibernation Chamber. The Hibernation Pod is enterable and fixed in place. The description is "It looks just like the twenty or so others in the room, except the lid is open."
The player is in the Hibernation Pod. 
After exiting the Hibernation Pod, say "You stand, blinking, and looking at two concentric arcs of identical, shiny white hibernation pods in a strange octagonally shaped room. The only break in the pods is for doors to the north and northeast. A bulky table with a clear top occupies the center of the two arcs of pods."

如果我将“退出后”替换为“进入后”,它将构建并运行得很好。但是,我希望在玩家离开吊舱时触发规则,而不是进入吊舱。

那么在 Inform 7 中“进入”容器的反面是什么?我试过“退出”、“离开”、“离开”,都无济于事。它只是给出以下错误:

问题。您写了 'After exiting the Hibernation Pod' ,这似乎引入了一条规则,>仅当操作是“退出 Hibernation Pod”时才生效。但这作为对 > 动作的描述是没有意义的。我无法将此规则放入任何规则手册。

我已经浏览了手册和示例,但没有任何帮助。我很乐意找到 Inform 7 理解的动词列表。

4

2 回答 2

2

关键字是“来自”。

玩家不退出容器,玩家容器中退出。

这是相同的代码,这次是“exiting from”,它可以工作。

The Hibernation Chamber is a room. 
The Hibernation Pod is a container in the Hibernation Chamber. The Hibernation Pod is enterable and fixed in place. The description is "It looks just like the twenty or so others in the room, except the lid is open."
The player is in the Hibernation Pod. 
After exiting from the Hibernation Pod, say "You stand, blinking, and looking at two concentric arcs of identical, shiny white hibernation pods in a strange octagonally shaped room. The only break in the pods is for doors to the north and northeast. A bulky table with a clear top occupies the center of the two arcs of pods."
于 2020-07-15T01:38:32.693 回答
1

您可以在 Inform 7 程序的索引下找到 Inform 7 理解的动词列表(尝试 Actions → Alphabetical)。但是,exiting仍然不清楚如何匹配规则中的“退出的容器” ( image )。这里的文档有点少。

起作用的魔法是标准规则from的这一点:

退出是一个不适用的动作。
退出操作将 I6 转换为“退出”。
退出动作有一个对象,称为退出的容器 (匹配为“来自”)

如您所见,Inform 7 认为“退出”是一个无用的操作。(从哲学上讲,只有一件事你可以退出,那就是“你所在的任何容器或房间”。它没有意义exit lampor exit table。所以它不需要一个对象。)这有点讨厌,但是这就是为什么 *exiting the Hibernation Pod不起作用。

相反,该container exited from操作变量在退出操作开始时设置为“您所在的任何容器或房间”:

设置退出的动作变量:
    现在退出的容器是actor的持有者。

这个动作变量是matched as "from"一个方便的事实,可以让我们缩写:

当退出容器Hibernation Pod时退出后,...

进入:

休眠舱
退出后,

§12.10。动作变量

于 2020-07-16T18:03:28.377 回答