ビジュアルノベルの醍醐味、選択肢を表示させてみます。
基本的な選択で使用するタグは <A HREF> と <A NAME> の二つです。
ここでは一番使用頻度が高いと思われる同一ファイル内でのジャンプを説明します。
<A HREF="#ジャンプ先" ALT="表示される文字列">
これで
<A NAME="ジャンプ先">
まで飛びます。
これだけでは分からないので順次説明します。
このタグは、例えるなら電車の駅のようなものです。
北海道から始まり、沖縄で終わるシナリオがあったとしましょう。
徒歩で進むのが普通にシナリオを読んでいる場合です。
あなたは東京まで歩いてきましたが、疲れてきたので電車に乗ろうと思います。
ここで名古屋まで電車に乗るか、京都まで電車に乗るか、それとも大阪まで行ってしまうか。
<A HREF="#名古屋" ALT="名古屋まで行く">
<A HREF="#京都" ALT="京都まで行く">
<A HREF="#大阪" ALT="大阪まで行く">
こう書く事で画面には「名古屋まで行く」「京都まで行く」「大阪まで行く」という三つの選択肢が表示されます。
しかしこれだけでは電車に乗ることは出来ません。
目的地となる駅を作ってやらなければならないのです。
しかし案ずる事はありません。
こう書いてやればいいだけです。
<A NAME="名古屋">
<A NAME="京都">
<A NAME="大阪">
これで駅が作られたことになります。
HREFには [#] が付き、NAMEには付かないことに注意して下さい。
実際にはシナリオがあるのでテキスト文書内にはこのように書かれる事になるでしょう。
東京駅についた。
無駄に人が多くてゲンナリだぜ。
アキバには寄ったからもうこの街に用はないな。
グッバイ東京! 俺は電車に乗る。
<A HREF="#名古屋" ALT="名古屋まで行く">
<A HREF="#京都" ALT="京都まで行く">
<A HREF="#大阪" ALT="大阪まで行く">
<A NAME="名古屋">
名古屋についた。
きしめんパイが売っている。
だが俺は甘いものは好かんので買わぬ。
きえええい、桜通線というのはどこにあるのだ!
まったくこの街の地下鉄は分かりにくい。
<A NAME="京都">
古都、京都である。
耳を澄ませば祇園精舎の金の……って金?
まぁ芸者遊びには金がかかるし、言い得て妙という説もあるわな。
どれどれ……何、一晩で十万だと!? しかも一見さんお断り?
よくもそこまでお高く止まれたもんだな。ワレなんぼのもんじゃコラ!
こんな所にはいられないので俺は巫女さんと写真とって次の町へ行く。
<A NAME="大阪">
大阪だ。
ホントに関西弁を喋っている。
彼らは何故納豆を食えないのだろうか。
いや、そんなものはどうでもいい!
おおさか! おおさかはどこだ! あずまんが大王の!
ホレ、さっさと出さんか。隠しても無駄だわ!
大体こんな感じなはずです(文章の内容はともかくとして)。
見て分かるようにHREFとNAMEの中の文字は一致していなければいけませんが、ALTの中は好きに決めて構いません。
なお、名古屋まで電車を使ったとしても沖縄へ行くにはさらに歩かねばなりません。
つまり名古屋までジャンプしたとしても、京都や大阪でのシナリオはこのままだと普通に読んでいく事になります。
同様に京都までジャンプしたなら名古屋でのシナリオは飛ばせますが、大阪でのシナリオは読む事になります。
ジャンプのやり方を理解したところで、次はその他の分岐の仕方を見てみましょう。
先に学んだジャンプのやり方を用いてシナリオ分岐を作ってみましょう。
例はさっきの続きで、大阪からです。
あなたはとりあえず大阪までやってきました。
ここで陸路を取るか、それともフェリーで外洋をまわるかを選択したいと思います。
陸路ならば歩いて本州の端まで行くか、それとも電車を使うのかも考えねばなりません。
もちろん、他にもたくさんの分岐があるでしょう。
例を挙げて説明を続けます。
タグと文章はこのようになります。
<A HREF="#陸路" ALT="陸路でモショモショ行こう">
<A HREF="#沖縄" ALT="フェリーで一気に行くぜ!">
<A NAME="陸路">
では陸路で行くとしよう。
それはいいとして歩くか電車で行くかだが……。
<A HREF="#歩く" ALT="せっかくだから歩いて行く">
<A HREF="#電車" ALT="かったりぃので電車">
<A NAME="歩く">
というわけで歩いてきた。
途中で食った岡山のきび団子はわりと美味かったぞ。
しかし問題はこの本州→九州間をどうするかだ。
……理性的な選択でない事は承知の上だが、しかし一度はやってみてェ……。
<A HREF="#飛行機" ALT="理性的な選択をする">
<A HREF="#溺死" ALT="男気を出して泳いで渡ってみる">
<A NAME="飛行機">
福岡空港に到着。
八幡製鉄所はどこにあるんだろう。
さてここから鹿児島まで歩くとするか……。
<A NAME="電車">
というわけで鹿児島まで来た。
あと一息かね。
金がないからボートで沖縄まで行くとしよう。
まぁどっかのマンガでやってた気がするから大丈夫だろう。
<A NAME="沖縄">
目的地である。
これで俺の旅も終わりというわけだ。
あー、ここはあったかくてええなぁ。
ハブ酒いってみるか!
オラどけ米兵、邪魔だ! 日本では日本語で喋れ!
<END ALT="おしまい">
<A NAME="溺死">
やべぇ……海超強ぇよ……。
突如として出現した謎の渦巻きに飲まれ、俺は気を失った。
話の流れ的にリヴァイアサンとかの仕業って事にならない?
俺FF4は好きなんやって。ダメ?
ところでオルテガってどうやってゾーマのいる島まで行ったんやろうなぁ……。
やっぱ泳ぎかなぁ……パンツいっちょやったし……。
<END ALT="色んな意味でおしまい">
以上です。
取り得るコースを並べてみましょう。
・大阪→フェリーで沖縄
・大阪→陸路→歩いて山口県へ→飛行機で九州入り→歩いて鹿児島まで→ボートで沖縄
・大阪→陸路→歩いて山口県へ→泳いで渡ろうとして溺死
・大阪→陸路→電車で知らない間に鹿児島まで→ボートで沖縄
これから分かるように、タグは基本的に上から実行されます。
分岐のさせ方ではこのようなことも可能です。
ストーリーに矛盾が出ないように気をつけて下さい。
沖縄では<END>タグが入ってストーリーを終了させています。
このように<END>タグか、新たな<A HREF>で別の場所へ飛ばさない限り、沖縄に到着したあと必ず溺死してしまいます。
注意して下さい。
以上で基本的な分岐の説明を終わります。
※注意※
ここまで説明しておいてなんですが、私はどこからどういう感じで電車だのフェリーだのが出てるのかを把握しておりません。
よって現実にはありえないコースで説明してる箇所もあるかもしれませんがご了承ください。