素人プログラマーの日常

効率の良いコード、美しいコードなんて書けません。

弾を発射させる

今回は自機から弾を発射させます。前回のような苦悩はなく、割りとすんなり出来上がりました。でも、こういうときは逆に重大なバグがあるのではないかと不安になったりもします。

弾はオート連射なので、カウンタがMAXになると新しい弾を発射します。そして画面から見えなくなると消えます。


【追加した変数】

const int tamamx = 7;    //自機の弾の発射間隔

int tamaNo;        //弾の順番



【自機の弾】

//自弾発射処理
if( tamacnt>tamamx ){
    tama[tamaNo] = 1;
    tamaX[tamaNo] = X-16;
    tamaY[tamaNo] = Y-16;
    tamacnt = 0;
    tamaNo = ( tamaNo+1 )%tamakazu;
}
tamacnt++;

//自弾移動処理
for( int i=0 ; i<tamakazu ; i++ ){
    if( tama[i]>0 ){
        tamaY[i] = tamaY[i]-16;
        if( tamaY[i]<-16 ){
            tama[i] = 0;
            continue;
        }
        DrawGraph( tamaX[i] , tamaY[i] , Ghandle[2] , TRUE );
    }
}




自弾の処理は前回の自機の移動の直後です。自機の上に描画されますが気にせず進めます。



なんだか作り始めたらちゃちゃっと終わってしまうような気がしてきました(笑。まあ確かに簡単なものを作っているわけですけどね。その分BGMに力を入れてみようかな?そういえば効果音もあったほうが好いですよね。オート連射なので自弾の発射音はいらないとしても、爆発音くらいはてきとーなやつ作っておかないと。それと背景がないと寂しいので星でも流しますかね~。

急にヤル気が出てきました(笑。でも他にもやることは山積みなので、少しずつ少しずつ・・・。