1

希望有人在此标签上活跃,我将在此处发布有关 Inform7 的问题。我们目前在大学里使用这种语言来接触小组中拼接项目和任务的结构。

当前的任务是在按下按钮时解锁门并在转动一圈后将其关闭。我使用的代码如下:

doorOpen is a number which varies. doorOpen is 0. [ = false]

TuerK is a door. It is south of Flur006R and north of R028a. It is locked.
Tbutton_flur is in Flur006R. Tbutton_flur can be pushed.
Instead of pushing Tbutton_flur:
    now TuerK is unlocked;
    say "Die Tür öffnet sich";
    now doorOpen is 2;

Every turn when doorOpen is 1:
    now doorOpen is 0;
    now TuerK is locked;
    say "Door closes!".

Every turn when doorOpen is 2:
    decrement doorOpen.

Tbutton_raum is in R028a. Tbutton_raum can be pushed.
Instead of pushing Tbutton_raum:
    now TuerK is unlocked;
    say "Door opens!";
    now doorOpen is 2;

我使用 doorOpen 作为属性来检查门是否打开。现在的问题是我可以按下按钮,进入打开的房间,它说门正在关闭,但我可以毫无问题地走出房间,而且似乎从现在开始它已经解锁了。

另一方面,我还有其他代码:

TuerSiT 是一扇门。它位于 R024 以南,Flur005R 以北。它被锁定。

Sicherheitsausweis 解锁 TuerSiT。

Before going to R024:
    if player is holding Sicherheitsausweis:
        now TuerSiT is unlocked;
        say "Der Sicherheitsausweis hat die Tür entsperrt";
    otherwise:
        now TuerSiT is locked.

那里的now doorname is locked作品完全没问题。

有什么我做错了吗?我还尝试创建隐藏的钥匙来解锁,因为那是我认为问题所在,但似乎我无法锁门。

任何帮助深表感谢!

4

1 回答 1

2

所以看起来第一个必须关闭门,这是我没有在另一扇门上测试的。所以

now the door is closed;
now the door is locked.

一切正常。

于 2017-04-06T11:06:09.090 回答