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

📄 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
};


struct TILE
{
	char	obj;
	WORD	mask;
};

class CTank;
class CBullet;
class CPlane  
{
public:
	CPlane();
	virtual ~CPlane();

	BOOL Create( char* filename );
	void BitBlt( LPDIRECTDRAWSURFACE bmp ){ m_bmp = bmp; }
	BOOL CanHit( int surface )
	{
		return surface==OBJ_BRICK || surface==OBJ_CONCRETE;
	}
	BOOL CanDestroy( int row, int col, BOOL bDestroyConcrete )
	{
		return (m_map[row][col].obj == OBJ_BRICK ||
			m_map[row][col].obj == OBJ_CONCRETE && bDestroyConcrete);
	}	
	BOOL HitSurface( CBullet& bullet, BOOL bDestroyConcrete=FALSE );
	BOOL GetSurface( int row, int col, RECT& rcTank, int a, int b );
	int GetSurface( CTank& tank );
	void Draw( LPDIRECTDRAWSURFACE pdds );
	void DrawTree( LPDIRECTDRAWSURFACE pdds );
	void Protect();
	void Unprotect();
	void Bare();

private:
	TILE					m_map[PLANE_H][PLANE_W];
	LPDIRECTDRAWSURFACE		m_bmp;
	BOOL					m_bRiver1;
	DWORD					m_time;
	DWORD					m_protectTime;
	BOOL					m_bProtected;
};

#endif // !defined(AFX_PLANE_H__10522B85_DB55_11D3_B12A_A4591823B325__INCLUDED_)

⌨️ 快捷键说明

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