www.pudn.com > tankedazhan.rar > Plane.h


// Plane.h: interface for the CPlane class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_PLANE_H__10522B85_DB55_11D3_B12A_A4591823B325__INCLUDED_) 
#define AFX_PLANE_H__10522B85_DB55_11D3_B12A_A4591823B325__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include  
 
#define PLANE_W		13 
#define PLANE_H		13 
#define TILE_W		32 
#define TILE_H		32 
 
enum{ 
	OBJ_NULL = -1, 
	OBJ_BRICK = 0, 
	OBJ_CONCRETE = 1, 
	OBJ_TREE = 2, 
	OBJ_RIVER = 3, 
	OBJ_HAWK = 5, 
	OBJ_STONE 
}; 
 
 
//##ModelId=3EBF9A48029F 
struct TILE 
{ 
	//##ModelId=3EBF9A4802A1 
	char	obj; 
	//##ModelId=3EBF9A4802A0 
	WORD	mask; 
}; 
 
class CTank; 
class CBullet; 
//##ModelId=3EBF9A480186 
class CPlane   
{ 
public: 
	//##ModelId=3EBF9A4801BF 
	CPlane(); 
	//##ModelId=3EBF9A4801BE 
	virtual ~CPlane(); 
 
	//##ModelId=3EBF9A4801BC 
	BOOL Create( char* filename ); 
	//##ModelId=3EBF9A4801BA 
	void BitBlt( LPDIRECTDRAWSURFACE bmp ){ m_bmp = bmp; } 
	//##ModelId=3EBF9A4801B8 
	BOOL CanHit( int surface ) 
	{ 
		return surface==OBJ_BRICK || surface==OBJ_CONCRETE; 
	} 
	//##ModelId=3EBF9A4801B0 
	BOOL CanDestroy( int row, int col, BOOL bDestroyConcrete ) 
	{ 
		return (m_map[row][col].obj == OBJ_BRICK || 
			m_map[row][col].obj == OBJ_TREE|| 
			m_map[row][col].obj == OBJ_RIVER|| 
			m_map[row][col].obj == OBJ_CONCRETE && bDestroyConcrete); 
	}	 
	//##ModelId=3EBF9A4801AD 
	BOOL HitSurface( CBullet& bullet, BOOL bDestroyConcrete=FALSE ); 
	//##ModelId=3EBF9A4801A5 
	BOOL GetSurface( int row, int col, RECT& rcTank, int a, int b ); 
	//##ModelId=3EBF9A4801AB 
	int GetSurface( CTank& tank ); 
	//##ModelId=3EBF9A4801A0 
	void Draw( LPDIRECTDRAWSURFACE pdds ); 
	//##ModelId=3EBF9A48019E 
	void DrawTree( LPDIRECTDRAWSURFACE pdds ); 
	//##ModelId=3EBF9A48019D 
	void Protect(); 
	//##ModelId=3EBF9A48019C 
	void Unprotect(); 
	//##ModelId=3EBF9A48019B 
	void Bare(); 
 
private: 
	//##ModelId=3EBF9A480198 
	TILE					m_map[PLANE_H][PLANE_W]; 
	//##ModelId=3EBF9A48018D 
	LPDIRECTDRAWSURFACE		m_bmp; 
	//##ModelId=3EBF9A48018A 
//	BOOL					m_bRiver1; 
	//##ModelId=3EBF9A480189 
	DWORD					m_time; 
	//##ModelId=3EBF9A480188 
	DWORD					m_protectTime; 
	//##ModelId=3EBF9A480187 
	BOOL					m_bProtected; 
}; 
 
#endif // !defined(AFX_PLANE_H__10522B85_DB55_11D3_B12A_A4591823B325__INCLUDED_)