www.pudn.com > tankedazhan.rar > Game.h
// Game.h: interface for the CGame class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_GAME_H__18287D61_DB36_11D3_B12A_F67D0FBE8D25__INCLUDED_) #define AFX_GAME_H__18287D61_DB36_11D3_B12A_F67D0FBE8D25__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include#include "Plane.h" #include "Sprite.h" #include "Input.h" #include "Sound.h" #define NUM_BITMAPS 15 #define NUM_EXPLODES 20 #define NUM_ENEMYS 6 enum GAMESTATE { GS_SPLASH, GS_ACTIVE, GS_WIN, GS_OVER, }; //##ModelId=3EBF9A47001F class CGame { public: //##ModelId=3EBF9A47018A CGame(); //##ModelId=3EBF9A470189 virtual ~CGame(); //##ModelId=3EBF9A470187 BOOL Initialize( HINSTANCE hInst ); //##ModelId=3EBF9A470186 BOOL InitApplication(); //##ModelId=3EBF9A47017D BOOL DDInit(); //##ModelId=3EBF9A47017C void DDTerm(); //##ModelId=3EBF9A47017A void ResetPlayer( CPlayer& player ); //##ModelId=3EBF9A470179 BOOL InitLevel(); //##ModelId=3EBF9A470178 BOOL InitGame(); //##ModelId=3EBF9A470177 BOOL ResetGame(); //##ModelId=3EBF9A470169 void CleanUpGame(); //##ModelId=3EBF9A47015C void DDClear( RECT* prc, DWORD dwFillColor ); //##ModelId=3EBF9A47015B void FlipScreen(); //##ModelId=3EBF9A47015A void ProcessInput(); //##ModelId=3EBF9A470159 void UpdateFrame(); //##ModelId=3EBF9A470158 int Run(); //##ModelId=3EBF9A47014B void Explode( CSprite& sprite, BOOL bExplode=FALSE ); //##ModelId=3EBF9A470149 void PlayerBeenHit( CPlayer& player ); //##ModelId=3EBF9A470148 BOOL BoreBonus(); //##ModelId=3EBF9A47013A BOOL BoreEnemy(); //##ModelId=3EBF9A47012C void EatBonus( CPlayer& player ); //##ModelId=3EBF9A470138 void EatBonus( CEnemy& enemy ); //##ModelId=3EBF9A47012B void GameOver(); //##ModelId=3EBF9A47012A BOOL LoadBitmaps(); //##ModelId=3EBF9A470129 void RestoreSurfaces(); //##ModelId=3EBF9A47011A void OutputText( int x, int y, LPCTSTR string ); //##ModelId=3EBF9A470119 void DoSplash(); //##ModelId=3EBF9A47010B void DrawWorld(); //##ModelId=3EBF9A4700FB void BltNumber( int x, int y, int n ); //##ModelId=3EBF9A4700EA LPDIRECTDRAWSURFACE DDLoadBitmap( LPCSTR szBitmap, int dx=0, int dy=0 ); //##ModelId=3EBF9A4700DA LPDIRECTDRAWSURFACE DDCreateSurface( int width, int height ); //##ModelId=3EBF9A4700BB LRESULT MsgProc( HWND hWnd, UINT uMsg, WPARAM, LPARAM ); private: //##ModelId=3EBF9A4700AC HINSTANCE m_hInst; //##ModelId=3EBF9A4700AB HWND m_hWnd; //##ModelId=3EBF9A47009C BOOL m_bActive; //##ModelId=3EBF9A47008D BOOL m_bShowStats; //##ModelId=3EBF9A47008C BOOL m_bFullScreen; //##ModelId=3EBF9A470082 BOOL m_bSingle; //##ModelId=3EBF9A47007F RECT m_rcWindow; //##ModelId=3EBF9A470072 DWORD m_dwFillColor; //##ModelId=3EBF9A47006F LPDIRECTDRAW m_pDD; //##ModelId=3EBF9A470067 LPDIRECTDRAWSURFACE m_pddsFrontBuffer; //##ModelId=3EBF9A470062 LPDIRECTDRAWSURFACE m_pddsBackBuffer; //##ModelId=3EBF9A47005D LPDIRECTDRAWSURFACE m_pBmpList[NUM_BITMAPS]; //##ModelId=3EBF9A470055 CDirectInput m_DirectInput; //##ModelId=3EBF9A470050 CDirectSound m_DirectSound; //##ModelId=3EBF9A47004A CPlane m_plane; //##ModelId=3EBF9A470045 CPlayer m_player[2]; //##ModelId=3EBF9A470040 CEnemy m_enemy[NUM_ENEMYS]; //##ModelId=3EBF9A47003D int m_nMaxEnemys; //##ModelId=3EBF9A47003A CExplode m_explode[NUM_EXPLODES]; //##ModelId=3EBF9A470035 CBonus m_bonus; //##ModelId=3EBF9A470030 GAMESTATE m_gameState; //##ModelId=3EBF9A470025 DWORD m_lastTime; //##ModelId=3EBF9A470024 int m_nLevel; //##ModelId=3EBF9A470023 int m_nEnemysLeft; //##ModelId=3EBF9A470022 int m_nEnemys; //##ModelId=3EBF9A470021 BOOL m_bEnemyLocked; //##ModelId=3EBF9A470020 DWORD m_lockTime; }; HRESULT DDCopyBitmap( LPDIRECTDRAWSURFACE, HBITMAP hbm, int x, int y, int dx, int dy); HRESULT DDReLoadBitmap(LPDIRECTDRAWSURFACE, LPCSTR szBitmap); HRESULT DDSetColorKey(LPDIRECTDRAWSURFACE, COLORREF); DWORD DDColorMatch(LPDIRECTDRAWSURFACE, COLORREF); #endif // !defined(AFX_GAME_H__18287D61_DB36_11D3_B12A_F67D0FBE8D25__INCLUDED_)