カウンタで分岐させましょう
$ σ_σ$ < カウンタってつまり、数値の扱いについてね。 Σc ' _' ) < カウントダウーン!
今回から中級編
今回からテクスティオの中級編に入ります。といっても、特別大きな変化があるわけではないですが。
入門編は使わないでゲームを作るのはちょい無理ぐらいの知識、中級編は使うとより深く、あるいは簡単にゲームが作れるようになる知識、というくらいの差です。
今回は、テクスティオで扱う数値を解説します。
テクスティオで扱える数値は整数に限ります。
<?xml version="1.0" encoding="UTF-8"?> <textio><act><select> <option verb="ミル;"> <option noun="アタリ;マワリ;" atto=""> <p> カベがある。</p> </option> <option noun="カベ"> <p var="hitCounter~2"> 脆そうなカベだ。<else/> カベは崩れている。</p> </option> </option> <option verb="タタク"> <option noun="カベ" var="hitCounter~2"> <p> カベが揺れた。</p> <var id="hitCounter">+1</var> <else var="hitCounter=3"/> <p> カベが崩れた。</p> <var id="hitCounter">+1</var> <else/> <p> カベは、これ以上崩れないようだ。</p> </option> </option> <option verb="ツム;ツミアゲル" var="hitCounter=4"><option noun="カベ"> <p> 崩れた壁を積み上げた。</p> <var id="hitCounter">0</var> </option></option> </select></act></textio>
各要素の説明
var属性による条件範囲指定
<p var="hitCounter~2"> 脆そうなカベだ。<else/> カベは崩れている。</p>
var属性の判定がidだけでなく、後ろに~2とか付いています。
~は「以上」つまり「≦」を意味しています。
ここでの条件は「hitCounterが2以下」ということになります。
Σc ' _' ) < あれ、varってフラグじゃなかったっけ? $ σ_σ$ < さらっと数字として解説してるわね。
varはtrueとfalseの他に、0と正の整数を設定できます。
なお、数値を設定したvarを「変数」と言います。
Σc ' _' ) < 慌てたな。 $ σ_σ$ < 慌てて解説入れたわね。
<else var="hitCounter=3"/>
~の他に=も使えます、これは見たままの「同じ」「イコール」を意味し、ここでは「hitCounterが3」が条件です。
また変数の位置を入れ替えてvar="3~hitCounter"
とすると、「hitCounterが3以上」という条件になります。
さらに変数の左右に数値を入れてvar="3~hitCounter~10"
とすると、「hitCounterが3以上10以下」という条件になります。
var要素による演算
<var id="hitCounter">+1</var>
今回のvar要素にはtrueやfalseではなく、+1が書かれています。
これは「変数の値を1つ増やす」という意味です。
-も書けて、例えば<var id="hitCounter">-2</var>
なら「変数の値を2つ減らす」という意味になります。
var要素による値の設定
<var id="hitCounter">0</var>
フラグ設定と同様に、数値も設定できます。
ただし先に解説した通り、負の数は値そのもの設定ではなく「変数の値を減らす」という意味になるので注意してください。
これは、設定できる値は0か正の整数ですが、あとで-を使って減らせば負の整数にすることもできる、という意味でもあります。
$ σ_σ$ アラ? < よく見たら、最初の数値ってどうなってるの? Σc ' _' ) < そうだ、そうだ。最初の値はfalseじゃないのか?!
む、よくぞ気付きましたね。
数値として加算(+)や減算(-)される場合、初期値は0として処理されます。
ですから、初期値として0を設定する必要はありません。もちろん、設定しておいても構いません。
これで、色々なものを数えられるようになりました。
trueとfalseのフラグでは2種類しか場合分けできませんでしたが、これで自在に場合分けができるようになったとういわけです。
まとめ
- var要素で0と正の整数を設定できる。
- var要素の初期値falseは数値だと0と解釈される。
- var要素の内容に+-を使えば加減算ができる。
- var属性に=と~使って変数範囲の条件指定ができる。
シナリオが複雑になってきて、思ったように動かない、変数の中味を確認したい、ということがあるかと思います。
次回は、メッセージの中の一部を変更して表示する方法を解説します。