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