コンテンツにスキップ

フロー制御・変数

ラベル、ジャンプ、サブルーチン呼び出し、変数と条件分岐のコマンドです。

対応ランタイムの記号

○ 対応 / △ 一部対応 / × 非対応 (読み飛ばし) / — 準備中


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 ○