<item>要素

 $ σ_σ$  < item要素はその名の通りアイテムの有る無しを設定する要素よ。
 Σc ' _' )  < こいつを使うと、ぐっとゲームらしくなるぜ!!

概要

 アイテムを管理するための要素。
 inventory要素で表示されるものを設定する要素、とも言える。

文脈(コンテクスト)

初期化要素(act,option要素内 空要素)

<item/>

 何の属性もない空要素を置くと、変数を全て初期化する。
 開始時にとりあえず入れておくと、再プレイ時に余計なことを考えなくてすむ。
 初期化しないと、前回プレイ時の値が設定される(オートセーブ)

設定要素(act,option要素内 id付き)

真偽値の設定(空要素)

<item id="コンボウ"/>

 id属性に指定したアイテムをtrueに設定する。
 id属性で指定できるのは、アルファベットや数値の組み合わせ、日本語や他の文字も使える。
 ただし、,;+-*/%=~などの記号は将来的な拡張の可能性も含め、使わないようにして欲しい。
 とはいえ、ここで設定された値がinventory要素で表示されるので、必然的に全角カタカナを使うのが定番。

真偽値の設定

<item id="コンボウ">true</item>

 さっきのtrueを設定する書式を明示的に書いたのがこちら。

 falseを設定する場合は必ず明示的に書く。アイテムを捨てたり使ってなくなったりした時に記述する。

<item id="コンボウ">false</item>

 真偽値でアイテムを管理している場合、アイテムを消費した途端に、元あった場所に使ったアイテムが復活したりする。
 消費アイテムや複数箇所におけるアイテムは、文字列を使ったほうがいいだろう。

文字列の設定

<item id="ホウチョウ">台所</item>

 文字列も設定できる。
 アイテムが置かれている場所を設定する、という使い方を想定している。

置換要素(p要素内 id付き空要素)

<p>クギバット : <item id="クギバット"/></p>

 以下のようにid付きの空要素として使うと、アイテムの状態(true/false)か設定された文字列に置き換えられる。
 ユーザにtrueとかfalseとか見せても意味不明なので、デバッグ以外で使うことはないだろう。

属性

color属性

 16進数6桁のカラーコードを書くことで、文字の色を指定できる。
 16進数の頭には#を付ける事。
 指定しない場合はtextio要素のcolor属性で指定した値。

<p><item id="テガミ" color="#cc99dd"/></p>

size属性

 数値を書くことで、文字の大きさを指定できる。
 指定しない場合はtextio要素のsize属性で指定した値。

<p><item id="テガミ" size="20"/></p>

条件分岐

適用可能な判定属性

 item要素はvar、i、item、at、pla属性による条件判定が可能。
 条件となる属性が複数ある場合は、andで判定が行われる。

<item id="カサ" var="in_the_rain"/>

属性としての仕様

 itemによる条件は、textioとselectを除く要素の属性として設定できる。
 条件の記述に空白は含めない。

 item属性はアイテムがあるかないかの判定に使い、単にアイテム名をitem属性に指定すれば良い。
 i属性とは逆に文字列が設定されているとfalseと判定される。
 !はNOTを意味し、アイテム名の前に付ければ「それ以外」を指す。

<p item="カナヅチ">貯金箱を壊した!</p>
<p item="!カナヅチ">貯金箱は硬くて割ることができない。</p>

 ちなみに上記の場合、else要素を使って以下のように書いたほうが記述量も短く、かつ分かりやすい。

<p item="カナヅチ">貯金箱を壊した!<else/>貯金箱は硬くて割ることができない。</p>

 item属性は=で比較を行う。
 =はC言語等の==にあたる。
 フラグ判定と同様に!を使って結果の真偽を反転できる。

 条件を複数並べることもできる。
 ,はAND、;はORにあたる。,と;が同時に含まれる場合、,(AND)が優先される。

<p item="カナヅチ,クギ">イスを組み立てた!</p>
<p item="セイショ=胸ポケット;カタミ=胸ポケット">銃弾が心臓に達する前に止まった。</p>