Inform7 中的嵌套 If 条件
Nested If-Conditions in Inform7
我正在 Inform7 中实现 phone,没有任何扩展。
Calling is an action applying to one topic.
Understand "Call [text]" or "[text] call" as calling.
Carry out Calling:
if the topic understood matches "Melissa":
say "You are calling Melissa … 'are you fine?'";
if player consents:
say "good???";
otherwise:
say "I see!";
if the topic understood matches "Dad":
say "Hey boy";
otherwise:
say "beeeeep – [the topic understood] is not answering";
所以如果我给爸爸打电话,程序就可以了。但是如果我打电话给 Melissa,她正在回答问题,当玩家同意时,整个过程就会失败:
>call melissa
You are calling Melissa … 'are you fine?'
yes
good???
beeeep -
*** Run-time problem P39: Attempt to say a snippet value which is currently invalid: words 2 to 2.
is not answering
>
当你有这个构造时
if A
...
if B
...
otherwise
...
然后 otherwise
块将在 B
不匹配的任何情况下执行。
另一方面,如果您有
if A
...
otherwise if B
...
otherwise
...
如果 A
和 B
都不匹配,则 otherwise
块将被执行。
所以在你的情况下,你的
if the topic understood matches "Dad":
应该是
otherwise if the topic understood matches "Dad":
我正在 Inform7 中实现 phone,没有任何扩展。
Calling is an action applying to one topic.
Understand "Call [text]" or "[text] call" as calling.
Carry out Calling:
if the topic understood matches "Melissa":
say "You are calling Melissa … 'are you fine?'";
if player consents:
say "good???";
otherwise:
say "I see!";
if the topic understood matches "Dad":
say "Hey boy";
otherwise:
say "beeeeep – [the topic understood] is not answering";
所以如果我给爸爸打电话,程序就可以了。但是如果我打电话给 Melissa,她正在回答问题,当玩家同意时,整个过程就会失败:
>call melissa
You are calling Melissa … 'are you fine?'
yes
good???
beeeep -
*** Run-time problem P39: Attempt to say a snippet value which is currently invalid: words 2 to 2.
is not answering
>
当你有这个构造时
if A
...
if B
...
otherwise
...
然后 otherwise
块将在 B
不匹配的任何情况下执行。
另一方面,如果您有
if A
...
otherwise if B
...
otherwise
...
如果 A
和 B
都不匹配,则 otherwise
块将被执行。
所以在你的情况下,你的
if the topic understood matches "Dad":
应该是
otherwise if the topic understood matches "Dad":