あけましでおめでとうございます@シューティング
あけましておめでとうございます。
本年もよろしくお願いいたします。
ということで、
年初の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から引いていたところをラップしたりです)
以上です。