2コマンドで分岐させましょう

 $ σ_σ$  < いよいよ動詞と名詞の2コマンド入力よ!
 Σc`⊿´)=○ < タタク カベ!! タタク カベ!!!

コマンド入力

 動作(動詞)はゲームを決定づける重要な要素ですが、それに加えて対象(名詞)が指定できると一気に世界が広がります。
 今回は、動詞と名詞の2単語によるコマンドを解説します。

 実際の入力部分はシステム(textio.swf)が担当するので、シナリオで書くのは入力されたコマンドに対する反応(リアクション)の部分です。

<?xml version="1.0" encoding="UTF-8"?>
<textio>	
<act>
<select>
<option verb="ミル;">
    <option noun="ヘヤ;アタリ;マワリ;ココ;" atto="">
        <p> ネコがいます。</p>
    </option>
    <option noun="ネコ">
        <p> ネコは寝ています。</p>
    </option>
</option>
<option verb="ダク;ダキアゲル;モチアゲル;モツ;トル">
    <option noun="ネコ"><p>
 静かに抱き上げたのですが、ネコはあなたを引っ掻きました。
 ひょいと腕から飛び出ると、またお気に入りの場所で眠ります。</p>
    </option>
</option>
</select>
</act>
</textio>

各要素の説明

option要素のnoun属性

<option verb="ミル;">
	<option noun="ヘヤ;アタリ;マワリ;ココ;" atto="">

 以前、option要素にはverb(動詞)属性で単語を指定しました。
 今回はそれに加え、noun(名詞)属性で動作の対象となる単語を指定します。
 verb属性と同様に、noun属性で指定する単語は;で区切って並べることができますし、最後に;を付けるとデフォルトの名詞として動作します。

 verbとnounの出現順はどちらが先でも構いませんが、<option noun="○○">の中には<option verb="××">を、verbの中にはnounを置いて、同種のものが重ならないようにしてください。

 $ σ_σ$  < あれ? そんな気を使う位なら、verbとnoun分けないで、ひとつの属性にしちゃったら?
 Σc ' _' )  < そーだ、そーだのソーダ水。

 確かにverbとnounの2種類の属性は必要ないように思うかもしれませんが、noun属性にはverb属性にはない機能があります。
 それが「注目名詞」機能です。

 注目名詞は他のインタラクティブフィクションでは見かけない、テクスティオの特徴的なシステムです。
 コマンドで名詞が入力されると、プロンプト(コマンド入力場所にある>のこと)の左に表示されます。これが注目名詞です。
 その後、動詞のみが入力された場合に、注目名詞を入力された名詞と見なして処理が行われます。

 何か(名詞)に注目して、その何かに対して色々なことを行う(動詞)というのが、人間の自然な動作かと思います。
 いったん注目したら、行動の対象は決まっていますから、もう名詞は省略しちゃっていいでしょう、という考えです。

 今回のサンプルでしたら、「ミル ネコ」を行うとプロンプトが「ネコ>」になりますから、「ダク」とだけ入力しただけで「ダク ネコ」と入力したのと同様に処理されるというわけです。
 verb属性とnoun属性が別にある理由が分かっていただけたでしょうか。 

 $ σ_σ$  < なるほどねー。
 Σc;' _' )  < オ…オレは、前から分かってたぜ。

option要素のatto属性

<option noun="ヘヤ;アタリ;マワリ;ココ;" atto="">

 option要素には新たにatto属性がついています。attoは、注目対象(at)を〜に(to)といった意味です。
 attoが(から)の場合、注目名詞を空にします。

 周囲をミルということは、今まで注目していた対象から目を外す、という解釈です。
 そして、noun属性の内容は最後に;がついているので、デフォルトの名詞です、つまり対象として意識しない名詞、目を開いていたら自然に入ってくる光景、というわけなので、特に注目名詞にはしないというわけです。
 このあたりの使い分けは、シナリオによりけりではありますが、できるだけプレイヤーが楽に且つ自然に操作できるように工夫するのを忘れないようにしましょう。

 $ σ_σ$  < そう書いてる本人は、できてるのかしら?
 Σc ' _' )  < テクスティオの戦いはまだこれからだっ!!

 あと、注意して欲しいのはatto属性は名詞に関わる属性ですが、必ずしもnoun属性とセットでoption要素に書くわけではなく、コマンド判定の最後のoption要素またはelse要素に書くということ。

<option noun="ヘヤ;アタリ;マワリ;ココ;">
	<option verb="ミル;" atto="">

 このように、verb属性が後に来るなら、verb属性と一緒に書きます。
 後のoption属性に条件がついてelse要素がつくなら、option要素とelse要素の部分でatto属性の動作は変わるので、else要素にatto属性を付けるのを忘れないように気をつけてください。

 今回の解説では新たな要素は出てきていません。同じ要素でも使い方を変えることで、色々な役割を持たせることができます。
 属性の方は、noun属性とatto属性が出てきました。動詞(verb)を名詞(noun)を使い分ければ、自動的に注目名詞は設定されます。
 色々と面倒なことはシステム側でやってくれるので、簡単ですね!

 $ σ_σ$  < 自画自賛ばっかりしてるわね、よく考えたら。
 Σc ' _' )  < テクスティオはすごいんだから、いいんじゃね? 少なくともテクスは。

 えー、説明しますと、ときどき出てくるこのキャラは、 Σc ' _' ) ←こいつの名前はテクス君、 $ σ_σ$ ←この娘の名前がティオちゃん、二人あわせてテクスティオなのです。

まとめ

  • option要素の中にさらにoption要素で2コマンド入力。
  • 動詞はverb属性に、名詞はnoun属性に書く。
  • 名詞と判定された入力は注目名詞になる。
  • atto属性で注目名詞を空にできる。

 2コマンド入力ができるようになると、本格度が格段に上がりますね。
 次回はいよいよ初級編最終回、テクスティオ特有の注目名詞をさらに詳細に解説します。