「MYSTERY TOWER」制作日記

Cから持ってきただけじゃ悪いので解説もしときます12月8日

えっと、メインはCから持ってきましたじゃ、全然役に立たないのでしょうか
ら、一応メインの構造を書いておきます。また、あくまで、僕がやった方法な
ので、この方法が一般的かどうか知りませんし、とんでもなく変なプログラム
かもしれません。

まず、コマンド打ち込み型のAVGなので、コマンドの解析から始めます。これは、
動詞・目的語・道具に打ち込まれた単語が何を意味しているか判断します。こ
の処理は簡単で、用意された単語を打ち込まれた単語を比べるだけです。比べ
て同じなら打ち込まれた単語は、用意された単語の番号をもらいます。例えば、
「ミル」は1、「トル」は2、「ハリガミ」は3、というように、番号をつけ
ていて、打ち込んだ単語が「ハリガミ」なら、打ち込まれた単語の番号は3と
なります。
これを、動詞・目的語・道具の3つすべてに行い、すべての打ち込まれた単語
を数字に直してやります。これは後々、処理を簡単にするためにするのです。

次に、その打ち込まれた単語によって、それぞれの処理をします。ここで、す
る処理とは大きく分けて、メッセージ表示、画像変更、フラグの変更です。
また、その単語がどの処理をするかは、Select CaseとIf文で場合分けして、何
の処理をするか決めます。僕は、まず最初に、Selestで動詞によって場合分けし
て、その後に階ごとにわけて、それぞれの処理をしました。
例えば、一階でミルと打ち込まれた時は、
@ミルのルーチンに飛ばす
Aその中の1階のルーチンに飛ばす
BIf文で、目的語が空白である事を確認
C「張り紙が張っています」と表示
というふうに進んでいきます。簡単な場合分けでできるはずです。

また、2階で「トル マッチ」と打ち込まれたら、
@トルのルーチンに飛ばす
Aその中の2階のルーチンに飛ばす
BIf文で、目的語がマッチである事を確認する。
Cマッチを取ってないかフラグで確認する
Dマッチと取ったと表示する。画像を入れ替える。
マッチを取ったかどうかのフラグを立てる
このようになります。

以上がおおまかな流れです。場合分けとフラグを処理がきちんといけば、簡単
なプログラムのはずです。

最後に、フラグの説明をします。フラグってのは変数です。変数ですから、数
値が入ります。しかし、フラグは、ある状態に合わせた数値を入れます。例え
ば、変数Flagをフラグとして使うことにします。この変数には、例えばマッチ
を取ってなければ0を入れ、マッチを取って入れば1と入れるようにします。
そうすると、このFlagが0なのか1なのか調べれば、マッチを取っているのか
マッチを取っていないのかが判断できます。フラグってのは、こんな風に使い
ます。

前のページに戻ります