−第二回「入力された文章に対する反応」−

 第二回は、入力された文章に対する反応の記述方法です。これにより、だいぶゲームらしくなります。
 ではまず、以下のブラックダイヤスクリプト(スクリプトの一部を抜粋)を見てください。

*SCENE UFO
*PICTURE uchusen_naibu   ← 1

>見る                     ← 2
 故障した宇宙船の中にいます。
 右手には[扉]、左手には[操作パネル]のようなものがあります。

>見る 操作パネル/パネル  ← 3
 電源が供給されていません。[通信機]もありますが、完全に壊れているようです。
*END                              ←4

*SCENEEND

 これは「宇宙」のスクリプトの一部を抜き出して加工したものです。順を追って解説します。

  1. シーン開始時の実行スクリプト
     前回解説し忘れました(笑)通常、シーンの開始時は、「*SCENE」の次の行からスクリプト終了ポイント(後述)までが、一行ずつ実行されます。この場合、*PICTURE命令により、宇宙船の内部の画像を表示します。
     「スクリプト終了ポイント」とは何かというと、読んで字のごとく、スクリプトの解釈を終了する場所です。
     
    • 空行(改行だけの行)
    • 「*END」コマンド
    • 「>」で始まる、コマンド文字列

     上記三つの条件のウチどれかを満たすと、それが「スクリプト終了ポイント」になります。例の場合は、*PICTUREのあとに空行があるため、そこでスクリプトの実行は停止し、文字列入力待ちの状態になるわけです。
     
  2. 反応する文字列
     「>」のあとに書かれている文字列が入力されると、この行以降のスクリプトが実行されます。この場合「見る」と入力すると、メッセージウィンドウに「故障した宇宙船の中にいます。右手には扉、左手には操作パネルのようなものがあります。」と、表示されます。一行ずつスクリプトは処理され、項目1で解説した「スクリプト終了ポイント」を発見すると、そこでスクリプトの実行を停止し、文字入力待ちに戻ります。

     また、表示する文字列中に [操作パネル] のように[ ]でくくられた部分がありますが、これはキーワードの登録です。ゲーム中、F1キーを押すことでこのキーワードを選択/入力出来ます。特に指定しなくてもかまいませんが、煩雑な文字入力を避けることが出来るので、長い固有名詞などは出来るだけキーワードとして登録しましょう。ただし、あまり登録しすぎると、いかにもそれが重要な単語であることを示すことになるため、ゲームの難易度が下がるという弊害があります。
     
  3. 複数の反応する文字列
     「>見る 操作パネル/パネル」と、二つの文字列をスペースで区切って指定した場合、入力された文字列の中に「見る」と、「操作パネル」または「パネル」という文字列が含まれていた場合、次の行からのスクリプトが実行されます。
     つまり、「操作パネルを見る」「パネル見る」「見る 操作パネル」などのどの文字列でも条件に当てはる事になります。ただし「見る」のみや「操作パネル」のみでは反応しません。入力文字列の中に、「>」のあとの、スペースで区切られた文字列がすべて含まれていた場合のみ、反応します。

     また「操作パネル/パネル」(「/」は半角)という指定がされていますが、これは「操作パネル」または「パネル」のどちらかが入力された場合、という指定になります(ちなみにこの例の条件は「>見る パネル」とすれば、よりシンプルになります。「操作パネル」という文字列に「パネル」、という文字列が含まれているため、この二つを指定するのは無意味なんですね)。

     この例では「見る」「操作パネル/パネル」の二つの文字列が指定されていますが、「>取る 鍵 骨」などのように、二つ以上の文字列を指定することも出来ます。指定できる最大文字列数は5つまでです。
     
  4. スクリプト終了ポイント
     前述した、スクリプト終了ポイントの一つである「*END」コマンドです。このコマンドを発見すると、スクリプトの実行を停止します。通常は空行で良いのですが、わかりやすくするために使われます。

 以上、本題から外れた解説が多いので、ちょっとわかりづらいですが、文字入力に対する反応についての解説でした。補足ですが、「>」で指定した反応文字列は、一つのシーンの中だけで有効になります。
 次回は画像表示についての解説の予定でしたが、それについては第五回にまわし、次回は変数について解説します。また次々回の第四回は、変数に関わりの深い、条件分岐と分岐について解説します。そこまでで一通りゲームを作れるようになるはずですので、どうぞお楽しみに。

 bar10_white.gif

[前の講座][目次][次の講座]

Copyright 2001-2002 ONODA Production/Youjiro BLACK ONODA