どんたこちゃんハイパーのテクスティオ試行錯誤メモ
参考: http://tonbi.jp/Game/TEXTIO/
まだとちゅう
できること できたこと
- メッセージ表示(textio要素, act要素, p要素: action属性) → Done.
- /pのあとにコマンド入力待ちが発生する
- 空白文字(改行, 半角スペース, タブ)は画面上そのまま表示される
- ただしタグの直前・直後に入力された空白文字は無視される
- pタグ間で1行空けたいときは空白を入れれば良い
- action="clear"で画面上の表示をすべてクリアできる
- コマンド分岐(select要素, option要素: verb属性; noun属性; atto属性, at要素, at空要素) → Done.
- verb属性で動詞を指定する
- noun属性で名詞を指定する
- verb, noun属性の値は;(セミコロン)で複数指定できる
- verb, noun属性の値の末尾に;(セミコロン)を記述することで 最初に指定した動詞を既定値に設定できる
- noun属性の値にはワイルドカード(*)を使用できる
- option要素の階層中にnoun属性を含む場合 最後のoption要素にatto属性を指定できる
- atto属性で注目対象を変更する(初期値は階層中に含まれるnoun属性で最初に指定された名詞?)
- 注目対象を変更したくない場合はatto="keep"を指定する
- 注目対象を空にしたい場合はatto=""を指定する
- at要素を使うことで、指定した対象を注目対象にできる
- at空要素を用いると、注目対象を空にできる(≒ atto="")
- シナリオの移動(act要素: id属性, go要素) → Done.
- act要素のid属性は1ファイル中でユニークにする
- id="start"の指定されたact要素は特別に開始要素という
- id属性を省略したact要素は1ファイルに1つだけ存在でき 開始要素として扱われる
- go要素でシナリオの移動ができる
- 複数のxmlファイルにまたがった移動もできる 例) go href="next.xml#veranda"/
- フラグによる分岐(var要素, var属性, else要素, var空要素) → Done.
- フラグの設定はvar要素で行う
- var要素のid属性にフラグ名を指定してvar~/var内に設定値(初期値はfalse)を記述する
- フラグの判定にはvar属性を用いる
- var属性の値が'!'から始まっている場合は論理否定になる
- var空要素を使えば全フラグを初期化(false)できる
- アイテムによる分岐(item要素, item属性, item空要素, inventory要素) → Done.
- アイテムの設定はitem要素で行う
- item要素のid属性にアイテム名を指定してitem~/item内に設定値(初期値はfalse)を記述する
- アイテムの判定にはitem属性を用いる
- item属性の値が'!'から始まっている場合は論理否定になる
- item空要素を使えば全アイテムを初期化(false)できる
- inventory要素を使うことで、現在の所持アイテム一覧を表示する
- カウンタによる分岐(var要素, var属性)
- var要素は論理値だけでなく数値を設定できる 演算も可能
- 判定する際はvar属性を使う 判定に使う演算子は"="と"~(以上)"の2種類
- 乱数生成(var要素)
- var要素は論理値, 数値のほかに乱数を設定できる
- 乱数はndxの形式で指定する
- p要素の一部のみ変化(i要素, var要素, item要素, CDATAセクション)
- p要素の中でi要素を使うと メッセージの一部分だけ分岐できる
- p要素の中でvar要素, item要素を id属性付きの空要素として使うと メッセージに内容を反映する
- CDATAセクションの中身はPreformattedTextとして扱われる
- コメントは!--~--の中身に記述する
- サブルーチン(id属性付き空要素) → Done.
- id属性付き空要素を使うことで ルートに書かれたid属性付き要素と置換えられる
- テクスティオでは『代替要素』と称する
- pla要素