今回はゲーム性を出す上で必要な、選択肢について覚えます。
命令文が長めですが、構造は単純です。 | ||
「*」で始まる文字列をラベルと呼びます。
ラベルは、選択肢やgoto命令でジャンプしたときの着地点となります。 下の、gotoとラベルを用いたスクリプト例を見てください。 | ||
*define game *start 次のラベルまでジャンプします。@ goto *next この文は飛ばされます。@ *next ジャンプしました。@ end | ||
「goto」は、指定したラベルにジャンプする命令です。
『goto *next』と書けば、*nextまでジャンプします。 「この文は飛ばされます」が表示されてませんね。 | ||
さっそく選択肢を表示させましょう。
| ||
*define game *start 目の前に美味しそうなドラ焼きがあります。@ さて、どうしてやりましょう。@ select "食べてしまおう",*taberu,"無視しよう",*mushi *taberu パクパクゴクン。@ あー、美味しかった。@ end *mushi ムシムシムシ…。@ 暑さのせいでドラ焼きが腐ってしまいました。@ end | ||
「select」選択肢を表示し、選択結果に対応するラベルへジャンプさせる命令です。
""で囲んだ部分に選択肢メッセージを書き込みます。 その直後に飛ばしたいラベルを指定します。 これの繰り返しです。 上のスクリプトでは、 「食べてしまおう」を選ぶと*taberuへジャンプし、 「無視しよう」を選ぶと*mushiへジャンプします。 ここでは2択でしたが、3択、4択…にすることも出来ます。 ※selectはカンマの位置を間違えやすいので注意しましょう。 選んだ選択肢によって… ストーリーが分岐しました。 ちなみに「select」文は下のように途中で改行することも出来ます。 | ||
select "食べてしまおう",*taberu, "無視しよう",*mushi | ||
選択肢がたくさんあるときなどは便利です。
| ||
ラベルは先頭に*を付ければ何を書いても構わないというわけではありません。
ここでは、やってはいけないラベルの書き方を紹介します。 1.全角文字を使う 「*スタート」「*食べる」「*abc」、こんなのはダメ! 2."_"(アンダーバー)以外の記号を使う 「*Mike&Tom」「*ta*be*ru」「*yeah!」、こんなのはダメ! 3.一文字目に数字を使う 「*1day」「*0123」「*3on3」、こんなのはダメ! 4.同じラベル名を二つ作る 「*define」「*start」も既に使われているのでダメ! | ||
ここで重要なのは選択肢よりラベルの方です。
ラベルはこれからもたくさん使われるので、よく覚えておきましょう。 次節は、右クリックメニューを作ります。 構造が選択肢とよく似ているので、特に難しくは無いでしょう。 | ||