あけましでおめでとうございます@シューティング

あけましておめでとうございます。
本年もよろしくお願いいたします。
ということで、
年初のKIAI@PGも始まりました。
で、実装したところですが、

  • 画面をパーツごとに分けた
  • スコアリング
  • HPメーター
  • エネルギーメーター
  • 機種によって性質を分けた
  • ゲーム処理の関数を別ファイルに移して再構成
  • TTFに対応

です。
まず、画面をパーツごとに分けました。例えばゲーム画面内で敵味方を描写するエリア、スコアを表示するエリア、HPの状況を表示するエリアといった具合です。それぞれは重なってもいいようになっています。
例えば、スコア表示構造体

   typedef struct ScorePart{
        Animation base;
        TTF_Font *font;
        SDL_Color color;
        int score;
        int score_effect;//スコアが上がっていくエフェクト用
        char score_chr[SCORE_LENGTH];
    }ScorePart;

↑の構造体を描画する関数を呼び出すと
指定した座標に必要な情報を描画する感じです。
今回は、スコア表示、HP/残存エネルギー表示パーツをつけました。
アウトプットはこうなっています↓

右上と左下にそれぞれスコア、HP/残存エネルギーが表示されています。
スコア表示にはTTF_Fontを利用して文字列で表示しています。(TTFに対応)
しかし。。。素材が無くてバーとか適当です。



あとは細々と。。
機種によって性質(移動速度、HPやエネルギー容量)にバリエーションがつきました。
ゲーム処理がgame.cに偏っていて見づらかったので、他ファイルに移して関数の見直しを少ししました。(今まで弾からのダメージを直接HPから引いていたところをラップしたりです)


ちなみに、HPがなくなるとゲームオーバーです


以上です。