『 その11-5 』
■ BdirConnという配列 JmainF/Pu_Mode_Junctionのコードの最後の方に以下のコードを追加する。これはBdirConnという配列にデータを格納するサブルーチンである。 ![]() ![]() この配列は(ブロック番号,入り口の方向)で指定された場所に、出口の方向を格納するサブルーチンである。-1というのは「そんなところに入り口はない。」というのを意味している。 余談になるが、VBで配列に初期値をセットする方法はこんな方法以外にないのかと随分調べたが未だ見つかっていない。配列の型がバリアント(型未指定方式で、VBが勝手に決めるので便利だが、スピードが落ちるという欠点もあるらしい)で、1次元の場合は方法もあるようだが、今回はInteger型でしかも2次元である。リソースなどというものを使うのも手かもしれないが、その説明はあまりにも長くなりすぎる。ということで、だれか良い方法を知っていたら教えてほしい。フォーラムなどに書き込みをしてほしい。 |
■ ゲームオーバーの準備 ![]() JmainF/Pu_Mode_Junctionのコードの最後の方に右のコードを追加する。これはBdirConnという配列にデータを格納するサブルーチンである。 |
■ 面クリアのチェックとその処理 ![]() 配置されているゲートを全て通過すると、面クリアになる。このコードはGameのボールコントロール部分に追加される。 簡単に説明すると、Ba.count<0というのはボールが一枚ブロックを渡りきった時点で成立する。そのときにゲートの個数が格納されているGateCountを1減らし、その値が0になったかどうかで判定している。判定が成立すると次の面の準備をして、新しい面がスタートするのである。 |
■ ゲームオーバー 以下に示すコードがタイマーイベント部分の完成版である。 ![]() ![]() これら2つのコードはあまりにも単純。今まで説明してきたことを理解していれば悩む事もないはずである。 |
その 11-1 |
その 11-2 |
その 11-3 |
その 11-4 |
その 11-5 |
その 11-6
『 サルのゲーム製作講座 』
目次 |
その 1 |
その 2 |
その 3 |
その 4 |
その 5 |
その 6 |
その 7 |
その 8 |
その 9 |
その 10 |
その 11
e-mail: sc_3da@magical2.egg.or.jp