我在玩家和龙之间进行简单的基于文本的战斗。我使用Menu
来让玩家从一组选项中进行选择。 Menu
显然会转到分配给所选选项的Lbl
。在游戏的while循环中,我可以通过使用Lbl
命令返回到End
s来回到循环的开始,但是当玩家选择难度时,没有循环。如何防止在此代码中执行所有后续Lbls:
:Menu("DIFFICULTY?", "EASY", 00, "MEDIUM", 01, "HARD", 02)
:Lbl 00
:75->D
://some end statement
:Lbl 01
:150->D
://some end statement
:Lbl 02
:300->D
://some end statement
因为目前所有标签都被执行,导致龙无论选择何种选项都具有300健康。 (我不想要使用标量或其他技巧来解决,我想知道如何模仿我在一般情况下所描述的内容,以便我可以在将来的程序中使用该技术。)
答案 0 :(得分:2)
您可以在最后添加另一个标签,并在设置龙的健康状况后转到该标签。
像这样:
:Menu("DIFFICULTY?", "EASY", 00, "MEDIUM", 01, "HARD", 02)
:Lbl 00
:75->D
:GoTo 03
:Lbl 01
:150->D
:GoTo 03
:Lbl 02
:300->D
://you don't need a GoTo here since there are no more labels and Lbl 03 is the next line.
:Lbl 03
://The rest of your code...
这将退出您正在使用的开关式设置并继续使用代码。
就个人而言,我会使用if then
,elseIf then
,else
,endIf
块来实现此目标。