“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

101.HSPでゲーム&ウォッチのパラシュートを作ろう その3

次はスカイダイバーの落下処理を作成する。
落下ラインは、3つ+1。プラス1は、GAME Bだけに発生する、右端のヤシの木にぶら下がってしまうライン。

1ゲームサイクルごとに、1ラインが動き、そのライン内のスカイダイバーは同時に1コマ進める。
なので、こちらもビット演算で各ラインのスカイダイバーの位置を管理することにした。
ラインごとに落下するパターン数が違っているので、ラインごとの最初のビットになる値を配列変数で管理することにした。

ヘルメットと違って、海に落下する前にキャッチできなければミスなので、左シフトでどんどん値が消えていくように管理しようと思ったが、それだとミス判定が面倒だとわかり、結局ヘルメットと同じく右シフトで管理することにした。
よくよく考えると、「ファイア」や「マンホール」は、途中でキャッチ判定してさらに画面外に消えるまでキャラクターを動かすので、勝手に消えてくれてよいのだが、ラインがある「パラシュート」、作らないけど「シェフ」なんかは、消える直前にキャッチ判定をしなくてはならないので、右シフト管理の方がよさげ。

これで、管理方法は決定。

GAME Bのみの4番目のラインは特殊。2パターンを交互に繰り返して、左右に揺れているようになる。
そして、左側に揺れたときに、3ライン目に空きがあれば、3ライン目に戻っていく。
この時の戻り方はランダムらしい。
これだけで処理を作るのが面倒だと思ったので、後回しw。
まずは3ライン分で、ダイバーが落ちてくるように処理を作成したのがこれ。

youtu.be

まだキャッチ&ミスの処理を作っていないし、ダイバーの追加されるタイミング、ラインの調整もできていないので、まだまだ先は長い。