フロー制御・変数¶
ラベル、ジャンプ、サブルーチン呼び出し、変数と条件分岐のコマンドです。
対応ランタイムの記号
○ 対応 / △ 一部対応 / × 非対応 (読み飛ばし) / — 準備中
label — ラベルを定義¶
ジャンプ先のラベルを定義します。
書式
label <名前>
jump、if、選択肢などのジャンプ先となる目印を定義します。ラベル名は大文字と小文字を区別します。
例
label Chapter1
"第1章がはじまります"
対応ランタイム
| ランタイム | 対応 | 補足 |
|---|---|---|
| Windows (Unity) | ○ | |
| XZ80 | ○ | |
| MSX (V9990) | ○ | |
| PSP | ○ | |
| X68000 | ○ |
jump / goto — ラベルへ移動¶
指定したラベルへ移動します。
書式
jump <ラベル名>
goto <ラベル名>
例
jump Chapter1
対応ランタイム
| ランタイム | 対応 | 補足 |
|---|---|---|
| Windows (Unity) | ○ | |
| XZ80 | ○ | |
| MSX (V9990) | ○ | |
| PSP | ○ | |
| X68000 | ○ |
call / return — サブルーチン¶
別スクリプトを呼び出し、return で呼び出し元へ戻ります。
書式
call <ファイル名>
return
別のスクリプトファイルをサブルーチンとして呼び出します。呼び出された側で return を実行すると、呼び出し元の次の行へ戻ります。
call cgmode / call savemode / call loadmode は組み込み画面の呼び出しです (セーブ・メニュー・CG を参照)。
例
call common_event
"イベントから戻ってきました。"
対応ランタイム
| ランタイム | 対応 | 補足 |
|---|---|---|
| Windows (Unity) | ○ | |
| XZ80 | ○ | 呼び出しの入れ子は 8 段までです。 |
| MSX (V9990) | ○ | 呼び出しの入れ子は 8 段までです。 |
| PSP | ○ | 呼び出しの入れ子は 8 段までです。 |
| X68000 | ○ | 呼び出しの入れ子は 8 段までです。 |
int / set / add — 変数¶
整数変数を宣言・代入・加算します。
書式
int <変数> = <式>
<変数> = <値>
set <変数> <値>
add <変数> <値>
整数の変数を宣言し、値を代入します。宣言済みの変数は int を付けずに 変数 = 値 で代入できます。set と add も使えます。
変数の値はセーブ/ロードで保存・復元されます。
例
int score = 0
score = score + 10
add score 5
set flag_met 1
対応ランタイム
| ランタイム | 対応 | 補足 |
|---|---|---|
| Windows (Unity) | ○ | 式には四則演算と他の変数を使えます。 |
| XZ80 | △ | 変数は 64 個まで、値は 16 ビット符号付き整数です。式は 値、変数 + 数値、変数 - 数値 の形だけに対応します。 |
| MSX (V9990) | △ | 変数は 64 個まで、値は 16 ビット符号付き整数です。式は 値、変数 + 数値、変数 - 数値 の形だけに対応します。 |
| PSP | △ | 変数は 64 個まで、値は 16 ビット符号付き整数です。式は 値、変数 + 数値、変数 - 数値 の形だけに対応します。 |
| X68000 | △ | 変数は 64 個まで、値は 16 ビット符号付き整数です。式は 値、変数 + 数値、変数 - 数値 の形だけに対応します。 |
if — 条件分岐¶
条件が成立したときに指定ラベルへ移動します。
書式
if <変数> <演算子> <値> <ラベル>
| 引数 | 説明 |
|---|---|
演算子 |
== (=)、!=、>、<、>=、<=。 |
例
if score >= 100 LabelWin
対応ランタイム
| ランタイム | 対応 | 補足 |
|---|---|---|
| Windows (Unity) | ○ | |
| XZ80 | ○ | |
| MSX (V9990) | ○ | |
| PSP | ○ | |
| X68000 | ○ |
switch / case / default — 値による分岐¶
変数の値と一致する case へ分岐します。
書式
switch <変数>
case <値>
default
変数の値に応じて、一致する case へ分岐します。どの case にも一致しない場合は default へ進みます。
条件が単純なら if、値ごとに分岐が増えるなら switch が読みやすくなります。
例
switch route
case 1
jump RouteA
case 2
jump RouteB
default
jump RouteCommon
}
対応ランタイム
| ランタイム | 対応 | 補足 |
|---|---|---|
| Windows (Unity) | ○ | |
| XZ80 | ○ | |
| MSX (V9990) | ○ | |
| PSP | ○ | |
| X68000 | ○ |