0

プレイヤーとドラゴンの間でテキストベースの単純なバトルを作成しています。sを使用Menuして、プレーヤーに一連のオプションから選択させます。次にMenu、明らかにLbl、選択したオプションに割り当てられた に移動します。ゲームの while ループ内で、ループの最初に戻るコマンドをLbl使用して s を終了できますが、プレイヤーが難易度を選択すると、ループはありません。Endこのコードで後続のすべての 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 になります。(スカラーやその他のトリックを回避したくありません。将来のプログラムでこの手法を使用できるように、一般的な状況で説明したことをエミュレートする方法を知りたいです)。

4

1 に答える 1

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目標を達成します。elseendIf

于 2014-09-28T20:36:26.037 に答える