Как сделать так, чтобы вместо этой функции применялась только определенное количество ходов? - PullRequest
0 голосов
/ 27 октября 2019

Я новичок, чтобы сообщить 7, и я хочу отменить команду вместо, которую я только хотел применить ранее. Как мне это сделать? (Я хочу, чтобы это произошло после события, используя оператор after.)

1 Ответ

0 голосов
/ 14 ноября 2019

Предположим, у нас есть небольшая история с вместо -rule.

<b>"Lasers" by Lynn</b>

The Lab is a room. <i>"To the east lies the vault. If only there weren't
    deadly lasers separating you from it."</i>

The Vault is east from the Lab. <i>"You made it!"</i>
Instead of going east from the Lab:
    say <i>"A lattice of red-hot laser beams blocks your path."</i>

Мы бы хотели "отключить" эту вместо -править, когда происходит определенное действие. Это может произойти изнутри после правила, как вы предлагаете, но также и в любом другом виде правил.

Мы могли бы добавить что-то вроде этого:

Lasers safe is a truth state that varies.

The dial is a device in the Lab. It is fixed in place and switched on.
Carry out switching off the dial: now lasers safe is true.
After switching off the dial: say <i>"The lasers cool down and turn harmless."</i>

И теперь, вместо того, чтобы фактически отменить наше определение вместо правила во время выполнения, мы сужаем условие его определения так, чтобы оно "обезвреживалось", чтобы никогда не применяться снова, когда lasers safe становитсяtrue.

Итак, мы перепрограммируем правило вместо этого:

Instead of going east from the Lab <b><i>when lasers safe is false</i></b>:
    say <i>"A lattice of red-hot laser beams blocks your path."</i>

Когда-то приятно в этом pparoach то, что теперь мы можем даже «повторить» наше «отменить»: простое now lasers safe is false возвращает вместо правила старого правила.


Это решение является общим: вы всегда можете определить глобальное значение-истину, которое отключает вместо -Правило вот так.

Конечно, даже проще написать что-то вроде:

  • Instead of [action] when the [noun] is (not) [adjective]:

  • Instead of [action] when we have (not) [verb]ed the [noun]:

В нашем случае мы можем написать:

Instead of going east from the Lab <b><i>when the dial is switched on</i></b>:
    say <i>"A lattice of red-hot laser beams blocks your path."</i>

или что-то вроде:

Instead of going east from the Lab <b><i>when we have not pushed the red button</i></b>:
    say <i>"..."</i>

See §9.12. Действия как условия .

...