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_)