アットウィキロゴ

流れ制御に関する命令


ジャンプ

goto ラベル名 次に実行するスクリプト上の位置をラベル名に変更する
*loop
          1
          2
          3
goto loop

ラベル

*ラベル名 gotoの飛び先に指定される
*loop
          1
          2
          3
goto loop

場合分け

if 変数名 = 値① then
          <変数の値が値①と等しい場合に実行させる内容>
else if 変数名 = 値② then
          <変数の値が値②と等しい場合に実行させる内容>
endif
変数の内容と値を比較し 結果が真ならブロック内の処理を実行する
場合分けの2番目以降はifの代わりにelse ifを使用
比較演算子には=の他に!=<,>,<=,>=が使用可能
変数 = 1
if 変数 = 1 then
          変数は1です
else if 変数 != 1 then
          変数は1ではありません
endif
          変数や条件をいじってコンパイルして試してみてください
wait 12

繰り返し

for 変数 = 値① to 値② step 値③
          <繰り返し実行させる内容>
endfor
変数が値①から値②まで変化する間ブロック内の処理を繰り返す
1回処理する度に変数は値③ずつ加算される
step以降を省略すると加算値は1になる
値①~③は数字・変数どちらでも指定可能
※値③に変数を使用しその値が負のとき正常に動作しない不具合がある
          九の段の答えを言います
for 計算 = 9 to 81 step 9
          $計算$
endfor
          計算終了

サブルーチン

gosub ラベル名
          と
return
goto(ジャンプ)とよく似ていますがこちらの命令ではreturnコマンドで戻ってくる
(つまり指定したラベルからreturnまでを実行する)
※サブルーチンないから別のサブルーチンを呼ぶことも可能(メモリの許す限り)
          サブルーチンを呼びます
gosub ラベル名
text 0
          サブルーチンから戻ってきました
          スクリプトの順番と実際に実行されている処理の順番を
          見比べてみてください
endtext
end

*ラベル名
text 0
          サブルーチンです
          returnまで実行をしたらgosubの位置に戻ります
endtext
return

時間待ち

wait フレーム数 指定フレーム数の間停止する
※1秒=12フレーム(rateコマンドで変更可能)
※0以下の値を指定するとフレームレートに関係なく最少時間だけ停止する。
msg
          5秒待ちます
.
wait 60

経過時間待ち

weight フレーム数 最後にこのコマンドが呼ばれてから経過した時間と 指定したフレーム数と現在のフレームレートに該当する時間の差分だけ停止する
(最少時間=1/36秒)
例えばフレームレート=12で処理に2/36秒かかったとき weight 1を指定すると1/36秒だけ停止
(wait 1なら所持時間に関係なく3/36秒停止してしまう)
※主にアクションゲームのメインループなどで使用。
a = 0
          12フレーム(1秒)経過するごとにループします
*loop
          msg                    $a$秒経過
          .
          a < a + 1
          weight 12
goto loop

終了

end スクリプトを終了する。
※エディタではエディタ画面に戻り 公開版では最初に戻る
最終更新:2013年02月12日 10:20