“RUN” それは魔法の言葉

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

80.HSPでゲーム&ウォッチのファイアを作ろう その10

前回までのあらすじw

落下人を一人ずつ、ちょっとずらして移動するようにする。
そして、音をあのリズムで鳴らす。
これが目標。

落下人を一人ずつ処理するために前回考えた方法でプログラムしていく。
一定タイミングで移動処理をするのだが、それを落下人の総数で等分割したフレームごとに1人処理することで、ずれるはず。
元のロジックと違うのは、移動処理を行うタイミングの計算式と、移動処理に入ったら、1人だけ移動し、次の処理タイミングで次の1人と順番に処理するためのカウンタを作ることだった。

1/60単位で画面をリフレッシュしている部分は変更しないため、落下人を動かしていないときも、表示の処理が必要。
このあたりは、元の同時全員移動の時と考え方に変わりはない。が、元のソースを考えなしに書き換えたら、判定ルーチンの通り方がおかしくなったw

ちゃんと一から作るようにしないとだめだね。
ロジックを全部メモ帳にコピーして、骨組みの判定処理を書いて、元のロジックから必要部分を切り出して、修正していった。
ここで、音の処理もせっかく調べたので、IDを変更しながら鳴らすように同時修正。

そして動かすと…
やっぱり音は完全再現できない。3人同時ぐらいは大丈夫なのだが、4人以上になると音が鳴らなくなる。
あと、処理時間を単純に落下人の人数で割って処理すると、増えれば増えるほどめちゃくちゃスピードが速くなるww
少しずれてという感じじゃない。スコア加算によるゲームスピードアップの割合を減らして調整するか、別の方法を考えよう。