変数の使い方(ループと条件分岐)

条件によって選択肢を表示したり、別の処理を実行したりするために変数という仕組みを使います。
この記事では、変数の使い方について書いてみました。変数の説明など基本的な使い方については、まずは公式サイトを見てみてください。

変数の設定方法

変数には数値、テキスト、連想配列などを格納することが出来ます。
  1. 数値
    半角数字を使うことで、数値として扱われます。
    ; ゲームクリア変数に1を設定
    [eval exp="f.ゲームクリア=1"]
  2. テキスト(文字列)
    クオーテーション(')で括ることで、文字列として扱われます。
    ※ Javascriptでは、クオーテーション(')またはダブルクオーテーション(")で括ることで文字列扱いになります
    ; f.好きな食べ物に'ハンバーグ'を設定
    [eval exp="f.好きな食べ物='ハンバーグ'"]
  3. 連想配列
    連想配列を使うことで、文字列や数字をセットで扱うことが出来ます。以下の例では、連想配列に更に連想配列を入れています。
    ※ Javascriptでは、波括弧({})で括ることで連想配列として扱われます。通常の変数とは異なり、最初に初期化する必要があります。
    # 登場人物用の連想配列を初期化
    [eval exp="actors = {}"]
    
    # 登場人物:勇者
    [eval exp="actors['勇者'] = {}"]
    [eval exp="actors['勇者']['しょくぎょう']='勇者'"]
    [eval exp="actors['勇者']['さいだいHP']=100"]
    [eval exp="actors['勇者']['ちから']=88"]
    [eval exp="actors['勇者']['かしこさ']=55"]
    

cond属性を使った分岐処理

ティラノスクリプトのタグには、条件が正しい場合のみ実行されるcondパラメータがあります。
次の例では、sf.ゲームクリアというシステム変数に1が設定されている時だけおまけの[glink]タグが表示されます。
[glink target="start" text="スタート" size=20 width="500" y=100]
[glink target="load" text="ロード" size=20 width="500" y=200]
[glink target="omake" text="おまけ" size=20 width="500" y=300  cond="sf.ゲームクリア==1"]
[s]

cond属性を使ったループ処理

[jump]タグにcond属性を使うことで、繰返し処理(ループ処理)を行うことが出来ます。
手順は次のとおりです。
  1. 繰返し回数を保持しておく変数を0で初期化する。
    [eval exp="f.loopCnt=0"]
  2. 繰返し用のラベル設置する。
    *repeat
  3. 繰り返す処理を書く。(ここでは変数を表示しています)
    [emb exp="f.loopCnt+'回目'"][r]
  4. 繰返し回数に+1加算する。
    [eval exp="f.loopCnt=f.loopCnt+1"]
  5. 繰返し回数に達していなければ、繰り返し用のラベルにジャンプして戻る。
    [jump  target=*repeat cond="f.loopCnt!==10"]
以下は頼み事を10回繰り返す処理のサンプルです。
; ループ処理開始
[eval exp="f.loopCnt=0"]
*repeat

そういわずに頼むよ。。。
[glink target="ng" text="やだ" size=20 width="500" y=100]
[glink target="ok" text="いいよ!" size=20 width="500" y=200]
[s]

; やだ (10回未満なら繰り返す)
*ng
[eval exp="f.loopCnt=f.loopCnt+1"]
[jump target=*repeat cond="f.loopCnt!==10"]

; 10回目(ループ終了)
そうか。他をあたるよ……[l][p]
【ゲームオーバー】[l]
[close ask=false]

; いいよ!
*ok
[cm]
助かったよ![l][r]
じゃあよろしく頼む。[l][p]

このブログを検索

連絡フォーム

名前

メール *

メッセージ *

QooQ