Могу ли я «закончить историю» из правила деятельности? - PullRequest
1 голос
/ 04 марта 2020

Я использую правило «после прочтения команды» для перехвата командной строки.

"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."

Вместо этого он ведет себя так:

Зал завершения

Пожалуйста, введите ваше имя.

> jorendorff
Спасибо, Джорендорф. Мы собираемся закончить историю.
Эта строка не должна быть достигнута.

>

Это ошибка? Есть ли способ заставить историю на самом деле закончиться правилом после активности?

1 Ответ

2 голосов
/ 05 марта 2020

Главным образом по историческим причинам, которые сегодня не так актуальны, «конец истории» не останавливает игру сразу, а устанавливает «мертвый флаг», который проверяется в конце хода, что вызывает правила выключения. это на самом деле конец истории. В этом случае, поскольку команда игрока отклонена, обычная последовательность ходов не выполняется, и флажок 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.
...