我可以从 activity 规则中 "end the story" 吗?
Can I "end the story" from within an activity rule?
我正在使用 "after reading a command" 规则劫持命令行。
"The Halting Problem" by jorendorff
Termination Hall is a room. "Please type your name."
The continuation is a rule that varies. The continuation is the naming rule.
After reading a command:
[say "(executing [the continuation]...)";]
follow the continuation;
reject the player's command.
这行得通,但如果规则说要结束故事,它就不会结束。
This is the naming rule:
say "Thank you, [the player's command]. We are now going to end the story.";
end the story saying "You have died";
say "This line should not be reached."
相反,它的行为如下:
Termination Hall
Please type your name.
> jorendorff
Thank you, jorendorff. We are now going to end the story.
This line should not be reached.
>
这是一个错误吗?有没有办法让故事真正以 after-activity 规则结束?
主要是出于今天不太相关的历史原因,"end the story" 不会立即停止游戏,而是设置一个 "deadflag" 在回合结束时进行检查,这将触发实际结束故事的关闭规则。在这种情况下,因为玩家的命令被拒绝,所以没有遵循正常的回合顺序,并且永远不会检查死旗。
你可以做的是运行手动关机规则:
This is the naming rule:
say "Thank you, [the player's command]. We are now going to end the story.";
end the story saying "You have died";
follow the shutdown rules.
我正在使用 "after reading a command" 规则劫持命令行。
"The Halting Problem" by jorendorff
Termination Hall is a room. "Please type your name."
The continuation is a rule that varies. The continuation is the naming rule.
After reading a command:
[say "(executing [the continuation]...)";]
follow the continuation;
reject the player's command.
这行得通,但如果规则说要结束故事,它就不会结束。
This is the naming rule:
say "Thank you, [the player's command]. We are now going to end the story.";
end the story saying "You have died";
say "This line should not be reached."
相反,它的行为如下:
Termination Hall
Please type your name.
> jorendorff
Thank you, jorendorff. We are now going to end the story.
This line should not be reached.>
这是一个错误吗?有没有办法让故事真正以 after-activity 规则结束?
主要是出于今天不太相关的历史原因,"end the story" 不会立即停止游戏,而是设置一个 "deadflag" 在回合结束时进行检查,这将触发实际结束故事的关闭规则。在这种情况下,因为玩家的命令被拒绝,所以没有遵循正常的回合顺序,并且永远不会检查死旗。
你可以做的是运行手动关机规则:
This is the naming rule:
say "Thank you, [the player's command]. We are now going to end the story.";
end the story saying "You have died";
follow the shutdown rules.