<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>