GUIによるシューティング・ゲームの作り方を載せます。
C++言語と Windows プログラミングを始めたばかり初心者向けに用意しました。
どうぞ。
考え方
- ゲームの初期化
- 自機の処理
- 自機の移動
- 自機弾の発射
- 自機弾の移動
- 敵機の処理
- 敵機の出現
- 敵機の移動
- 敵機弾の発射
- 敵機弾の移動
- 流星の処理
- 流星の発生
- 流星の移動
- 流星の消滅
- 当たり判定
- 自機と敵機の判定
- 自機と敵機弾の判定
- 自機弾と敵機の判定
- 敵機と自機の判定
- 敵機と自機弾の判定
- 敵機弾と自機の判定
- 残機数の処理
- 残機数の爆発
- 残機数の出現
- 残機数の点滅開始
- 残機数の点滅移動
- 残機数の点滅停止
- ゲームの後始末
目次
- ウインドウ編
- 自機編
- 自機弾編
- 敵機弾編
- 敵機編
- 当たり判定
- 爆発編
- 残機編
- 流星編
- 背景編
- ファイル編
自機のクラス
//------------------------------------------------ // 自機のクラス //------------------------------------------------ class clsFight { HDC m_dcImage; // 自機のイメージ HDC m_dcCrash; // 自機のダメージ LONG m_sx; // 自機の横サイズ LONG m_sy; // 自機の縦サイズ LONG m_cx; // 自機の横軸位置 LONG m_cy; // 自機の縦軸位置 LONG m_jx; // 自機の判定横幅 LONG m_jy; // 自機の判定縦幅 RECT m_rc; // 自機の判定領域 LONG m_left; // 自機の残機数 LONG m_power; // 自機の耐久力 LONG m_crash; // 自機の爆発周期 LONG m_speed; // 自機の移動速度 LONG m_direct; // 自機の移動方向 BOOL m_phoenix; // 自機の無敵状態 public: // コンストラクタとデストラクタ clsFight(); ~clsFight(); // ステータス関数 BOOL getCrash(); BOOL getPhoenix(); // プロパティ関数 UINT getLeft(); UINT setLeft( UINT left ); // 操作関数 BOOL crash( LPRECT lprc, LONG& power ); VOID update( BYTE keyBuff[] ); VOID draw( HDC hDC ); private: VOID initImage(); VOID initCrash(); VOID scan( BYTE keyBuff[] ); VOID move( LONG mx, LONG my ); };
※コメント投稿者のブログIDはブログ作成者のみに通知されます