【コマンドリファレンス】

注意

引数の形状について

シナリオ処理系

CHOICE2/二択選択肢
CHOICE/選択肢
FLAGJUMP/フラグ分岐
JUMP/ジャンプ
END/終了
GOSUB/サブルーチン
RETURN/復帰
JUMPINRECT/範囲内ジャンプ

フラグ処理系

FLAGDIV/フラグ除算
FLAGMLP/フラグ乗算
FLAGMIN/フラグ減算
FLAGADD/フラグ加算
FLAGCOMPARE/フラグ比較
FLAGJUMP/フラグ分岐
SETFLAG/フラグ代入

画像処理系

PICTURE/画像
LAYER2/レイヤー2
LAYER1/レイヤー1
PAINT/ペイント
ERASEPAINT/ペイント消去
ERASELAYER2/レイヤー2消去
ERASELAYER1/レイヤー1消去
描画方法について

システム系

CLS/文字消去
RND/乱数
WAITFORTAP/入力待ち
DEFINE/定義

【引数の形状について】

引数は、『,』(半角コンマ)や『 』(半角スペース)にて区切られます。
別に、コンマをつかおうがスペースをつかおうが好き好きです。が、まぁ、組になるものはコンマ、それ以外はスペースとするとわかりやすいかもしれません。

また、引数に[00]等の、半角大括弧でくくられた二桁の数字があれば、その数字に対応するフラグの内容がそのまま引数として与えられます。
つまり、フラグ0に1が入っているとすると、
#PICTURE back.bmp [00]

#PICTURE back.bmp 1
と指定したのと同じことになります。

引数に引数の区切りを含めたい場合は、"で囲ってください。
たとえば、"The CommandLine"というのは、一つの引数として扱われます。
まぁ、安全策として全て""でくくっても構いません。


【CHOICE2】/ 【二択選択肢】

CHOICE2 (二択選択肢) "タイトル" "質問1" "質問2" "飛び先ラベル1" "飛び先ラベル2"
2択の選択肢を表示します。これも特に注意はありません。

#CHOICE2 "どうしよう?" "呼び鈴を鳴らす" "帰る" "呼び鈴" "帰る"
#二択選択肢 "どうしよう?" "呼び鈴を鳴らす" "帰る" "呼び鈴" "帰る"

【CHOICE】/ 【選択肢】

CHOICE (選択肢) "タイトル" "質問1" "質問2" "質問3" "飛び先ラベル1" "飛び先ラベル2" "飛び先ラベル3"
3択の選択肢を表示します。これといった注意はありません。

#CHOICE "コップをどうしよう?" "見る" "調べる" "持ってみる" "ミル" "シラベル" "モッテミル"
#選択肢 "コップをどうしよう?" "見る" "調べる" "持ってみる" "ミル" "シラベル" "モッテミル"

コップをどうしよう、という選択肢を表示し、
「見る」を選択した場合「ミル」
「調べる」を選択した場合「シラベル」
「モッテミル」を選択した場合「モッテミル」
というフラグへジャンプします。

【FLAGDIV】/ 【フラグ除算】
【FLAGMLP】/ 【フラグ乗算】
【FLAGMIN】/ 【フラグ減算】
【FLAGADD】/ 【フラグ加算】

FLAGADD (フラグ加算) フラグ番号 数値
FLAGMIN (フラグ減算) フラグ番号 数値
FLAGMLP (フラグ乗算) フラグ番号 数値
FLAGDIV (フラグ除算) フラグ番号 数値
それぞれ、フラグ番号に入っている値を数値で加減乗除算をします。
#FLAGADD 0 1
#フラグ加算 0 1
フラグ0に1を加算します。
また、0で除算した場合はエラーが起こります。

【FLAGCOMPARE】/ 【フラグ比較】

FLAGCOMPARAE (フラグ比較) フラグ番号 数値 結果を入れるフラグ番号
フラグに入っている値と数値を比較し、結果を別のフラグに代入します。
結果は、フラグ<数値の場合0、フラグ=数値の場合1、フラグ>数値の場合2が代入されます。
#FLAGCOMPARE 0 10 1
#フラグ比較 0 10 1
フラグ0と10を比較し、結果をフラグ1に入れます

【FLAGJUMP】/ 【フラグ分岐】

FLAGJUMP (フラグ分岐) フラグ番号 数値 "ラベル"
フラグを判別し、そのフラグに入っている値が与えられた数値の場合は"ラベル"へジャンプします。
また、与えられた数値とは異なる場合は、次の行が実行されます。

#FLAGJUMP 0 1 "Scene1"
#フラグ分岐 0 1 "Scene1"
フラグ0が1の場合"Scene1"へジャンプします。

【JUMP】/ 【ジャンプ】

JUMP (ジャンプ) "ラベル名"
現在実行しているラベルから飛びます。
#JUMP "Scene0"
#ジャンプ "Scene0"
シーン0へジャンプします。

永遠ループを作るとフリーズします。ご注意ください。
たとえば次のようなソースです。

:Scene0
#画像 "LOGO.bmp"
#JUMP "Scene0"


【PICTURE】/ 【画像】

PICTURE (画像) "画像ファイル名" 描画方法
"画像ファイル名" に指定される画像を読み込み描画方法で描画します。描画方法を省略した場合は1が自動的に指定されます。
画像については、画像・アイコン・色レベルについてをお読みください。

#PICTURE "LOGO.bmp"
#画像 "LOGO.bmp"
Logo.bmpを表示させます。

画像ファイルが見つからない場合はエラーとなります。
また、使用する画像ファイルは同じフォルダに存在する必要があります。

【SETFLAG】/ 【フラグ代入】

SETFLAG (フラグ代入) フラグ番号 代入する値
フラグに数値を代入します。
フラグを立てる時等に使用します。
また、フラグ番号は99番まで使用できます。
#SETFLAG 0 1
#フラグ代入 0 1
また、ソース中に半角の[]で囲まれた二桁の数字があれば、自動的にフラグ数値に置換されます。

【CLS】/ 【文字消去】

現在表示されている画面上の文字を消去します。
表示されている画像は消えません。

#CLS
#文字消去

【END】/ 【終了】

みたまんまです。終了します。
#END
#終了

【LAYER1】/ 【レイヤー1】
【LAYER2】/ 【レイヤー2】
【ERASELAYER1】/ 【レイヤー1消去】
【ERASELAYER2】/ 【レイヤー2消去】

#LAYER1 画像 x y 描画方法
 レイヤーのx,yで指定された位置に画像を読み込み、描画方法で更新します。
#ERASELAYER1 描画方法
#ERASELAYER2 描画方法
 レイヤーの内容をクリアし、その結果を描画方法に従い表示します。
 描画方法は描画方法についてを参照。

【PAINT】/ 【ペイント】
【ERASEPAINT】/ 【ペイント消去】

#PAINT R,G,B 描画方法
 16進数で指定された色で、画面を塗りつぶします。
 レイヤーが表示されている場合はレイヤーは表示されたままです。
#PAINT FF,00,FF 0
#PAINT FF 00 FF 0

【RND】/ 【乱数】

RND フラグ 最大値

 フラグに最大値を超えないランダムな数を代入します。

#RND 0 100


【GOSUB】/ 【サブルーチン】
【RETURN】/ 【復帰】

#GOSUB サブルーチン名
#RETURN
 GOSUBでサブルーチンに行き、RETURNが見つかるまで実行します。RETURNが見つかったら自動的に実行は戻ってきます。
 また、8段階が限界です。

【WAITFORTAP】/ 【入力待ち】

#WaitForTap
 何か入力があるまで待ちます。
 ペンで入力された場合はその座標が内部に保管され、キー入力や画像表示域外の場合は-1がx,y座標両方に保管されます。

【JUMPINRECT】/ 【範囲内ジャンプ】

#JumpInRect x1 y1 x2 y2 ジャンプ先
 前回タップされた点が指定された範囲内にある場合のみジャンプします。
範囲外にある場合は次の行に移ります。
:tap
#waitfortap
#JumpInRect 0,0,50,120 左側
#JumpInRect 50,0,110,120 中央
#JumpInRect 110,0,160,120 右側
#jump tap

【DEFINE】/ 【定義】

#define 定義名 定義
 引数またはフラグ番号に定義名が指定された場合、それを置き換えます。
#define 森 mori.bmp
中略
#画像 森 0
という風に指定出来ます。

同じ定義名で二つ以上定義するとエラーとなります。


【描画方法について】

 描画方法は全部で7種類あります。
 -1:描画しない
  素直な話、描画しません。
  二枚以上の画像を一度に表示したいときに指定してください。
  たとえば、キャラと背景を同時に表示したい、とか。

 0:瞬時に表示する
  それこそ瞬間的に表示します。
  目パチ等にご使用ください。

 1:画像をご覧下さい
 2:画像をご覧下さい
 3:画像をご覧下さい
 4:画像をご覧下さい
 5:画像をご覧下さい