少なくとも体は休まるし

 先週日曜日の20時間耐久アルバイトに始まり、木曜金曜と港まつりに駆り出されたためもうヘトヘト。特に祭ではいいだけ飲まされて内臓もぐったりだし、この土日は家に引きこもることに決定! かねてからやろうと思っていたプログラムのお勉強をすることにしました。頭は疲れるけど体は動かないのでいいんじゃないかと。
 
 

Windows Mobile 5.0 アプリケーション開発 Beginner's Book (Gihyo Technology)

Windows Mobile 5.0 アプリケーション開発 Beginner's Book (Gihyo Technology)

 
 この本を参考に、なんとかシューティングゲームらしきものができました。
 

 上の赤丸が敵機。下の青四角が自機。敵は最初右に移動して壁に当たると左に移動するだけ。ランダムに動かすのは次のステージでの課題にします。苦労したのが当たり判定。理論上は分かってるつもりなんだけど、それを式に直すと思ったとおりに行かないのが歯がゆい。今もちょっと変。
 
 いま一番謎なのが、弾を複数存在させようとした時の処理です。今は例えば敵の弾なら「eneBeam」という名前のタイマーを使って動かしているんだけど、これを「eneBeam1」「eneBeam2」「eneBeam3」と増やさないと画面上に存在できる弾の数も増えないんだろうか。ファミコンのゲームにはそういうのもあったし、間違ってはいないと思うんだけど腑に落ちません。
 ふと思ったのは、上から下に向かって流れる透明のシートがあって、敵は弾を"撃つ"んじゃなくてそのシートに弾を"書いて"いるんじゃないかということ。それなら敵と味方、2つのタイマーさえあれば弾幕だって表示できる。でもそうなると問題になるのはやはり「当たり判定」なのだ。背景色を取得ってできたっけ? その前に透明のシートとやらを流すことも課題ではあるんだけど。
 
 それにしてもほとんど徒手空拳のところから始めるのは大変だ。さらに何冊か入門書を買ったほうがいい気がしてきました。明日は引きこもりの予定を変更して、本屋にでも行ってみようかな〜。