<act>要素
$ σ_σ$ < act要素はアクトつまり劇の一幕のことよ。actor(役者)やaction(動作)って意味もあるわ。 Σc ' _' ) < 舞台が変わるのにも、役者が変わったり、行動が変わったりにも使えるってことだぜ。
概要
テクスティオの基本単位で、ゲーム全体はactをひとつあるいは複数連ねて構成される。
actは特殊な性質があり、textio属性直下に配置されている時だけ内部がループ構造となる。
それ以外の階層では条件分岐などのための入れ物になり、内部でループはしない。
actの中にselect要素を配置してactの頭から繰り返す、というのが基本。
selectの前後に要素を含める場合、カウントダウン系の処理を行うのが定番。
actの中にpを幾つも並べactの終了前にgoを置いて次のactへ移動する、という使い方をすると電子書籍的に使える。
actの中に入力受け付けをするselectやpを置かないと、所謂「永久ループ」となりエラーが発生するので注意。
atc要素の中には、textioを除く要素が配置できる。
文脈(コンテクスト)
包含要素(act,option要素内)
<act var="test"><p>…</p><p>…</p></act>
いくつかの要素をまとめて、条件判定したい場合などに使う。
シナリオが複雑化してくると便利だが、使わなくてもどうにかなる。
定義要素(textio要素内)
<act> <p>いらっしゃいませ</p> <go href="room1"/> </act>
idの付いていないトップレベルのact要素は、1ファイルに1つだけ存在でき、開始要素として実行される。
ただし、明示的にid="start"が指定されているactトップレベル要素がある場合、そちらが優先される。
開始要素は、go要素でファイルが指定された際にid指定がなかった場合に実行される。
大まかな状況の説明をして、atなどの要素を初期化するのに使う。
定義要素(textio要素内 id付き)
<act id="room1"> <p>前処理部分</p> <select> <option noun="ツクエ"> <p> 立派なツクエだ。</p> </option> </select> <p>後処理部分</p> </act>
textio要素直下にidを付けて配置すると、アクトとして定義される。
actタグで囲まれた部分はループになり、go要素で移動しない限り繰り返し実行される。
idはgo要素のアンカーとして指定される他、召喚要素から呼び出される。
召喚要素(act,option要素内 id付き空要素)
<act id="miss"/>
id付きの空要素として使うと、定義要素を呼び出す。
条件分岐
適用可能な判定属性
p要素はvar、i、item、at、pla属性による条件判定が可能。
条件となる属性が複数ある場合は、andで判定が行われる。
<act var="flag" item="カギ" at="ドア" pla="応接間"> <p>ドアの向こうは庭だ。</p> </act>
else節
act要素はelse要素を含める。
act要素で、何らかの判定属性が設定されていないと、else節は実行されない。
<act var="doorOpen"> <p>ドアは開いている。</p> <else/> <p>ドアは閉じている。</p> </act>