⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plane.h

📁 小时候玩的经典游戏-坦克大战的源码
💻 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 <ddraw.h>

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -