たんしおツクール>分岐・制御

日本語/English

ツクールメニュー
分岐・制御
分岐・制御

分岐・制御用コマンド

処理の制御用にif, jump, call, returnの4種類のコマンドがあります。

この4種類のみ、先頭は大文字でも小文字でもOKです。

(If,Jump,Call,Returnでも動作します)

指定のラベルに処理を飛ばす

jump( "ラベル" ) ;

で指定したラベルに処理が飛びます。

[Start]

いろいろな処理

jump( "[Start]" ) ;

みたいな感じで使ってください。

条件分岐について

if( 条件式 ) "ジャンプ先ラベル" ;

という記述になります。

{}は使えません。

Ver0.04の時点では、&&と||は非対応です。

int a = Rand( 10 ) ;

if( a < 5 ) "[Label_1]" ;


〜a >= 5のときの処理〜


Jump( "[Label_2]" ) ;


[Label_1]


〜a < 5のときの処理〜


[Label_2]


以降の処理


たんしおスクリプトは、処理がラベルに到達すると終了してしまうので注意してください。

処理がラベルに到達した場合、そのまま次のラベルの処理を実行します。

なお、[Init]での初期化中に[Start]に到達した場合、全ての読み込み処理を完了後に[Start]の内容を行います。

選択肢の条件分岐

選択肢を表示して分岐する場合の例です

int nSelect ;

nSelect = Select( "北へ移動", "南へ移動" ) ;

if( nSelect == 0 ) "[North]" ;

if( nSelect == 1 ) "[South]" ;


[North]

「北へ移動する」が選ばれたときの処理


[South]

「南へ移動する」が選ばれたときの処理


選択された結果が一番上から0,1,2・・・の値で返されるので、それをif文で判定して分岐します。

また、Ver0.04以降は、選択肢の中にジャンプ先ラベルを埋め込むことが出来ます。

↑の処理と↓の処理は同じになります。

Select( "[North]北へ移動", "[South]南へ移動" ) ;


[North]

「北へ移動する」が選ばれたときの処理


[South]

「南へ移動する」が選ばれたときの処理


サブルーチンコール

call( "ジャンプ先ラベル" ) ;

return( 戻り値 ) ;

この2つのセットで、関数っぽいものを作成することが出来ます。

call命令で、指定したラベルに制御が飛びますが、return命令で元の場所に戻ってきます。

return()で、戻り値を設定することが出来ます。

一般的な言語では、returnの後に()がなくてもコンパイルが通るものですが、このスクリプトでは()は付けておいてください。

例:0〜5までのランダムな値を生成するサブルーチン。

[Start]


OpenWindow( _WIN_MESSAGE ) ;


int a = call( "[Test]" ) ;

Message( a ) ;

Wait( 10 ) ;


jump( "[Start]" ) ;



[Test]

return( Rand( 5 ) ) ;

広告
おすすめオンラインゲーム