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

📄 tobject.h

📁 一个另类的坦克大战源程序
💻 H
字号:
// TObject.h: interface for the TObject class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TOBJECT_H__076A19C6_24F0_4F8A_817E_CDC031D9DE43__INCLUDED_)
#define AFX_TOBJECT_H__076A19C6_24F0_4F8A_817E_CDC031D9DE43__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "TankWar.h"

///////////////////////////////////////////////////////////////
//定义对象类型
enum CLASS_TYPE {
	CLASS_TBONUS,
	CLASS_TPLAYERTANK,
	CLASS_TOBSTACLE,
	CLASS_TBULLET,
	CLASS_TENEMYTANK,
	CLASS_TEXPLODE
};

/////////////////////////////////////////////////////////
//TObject 类
class TObject  
{
protected:
	int m_nX,m_nY;				//对象的坐标
	CLASS_TYPE m_nClassType;	//对象类型
	DWORD m_dwLastTickCount;	//最近的时间滴
	DWORD m_dwDelayTimer;		//延时时间
	BOOL  m_bIsDead;			//死亡标志

public:
	TObject(int x,int y,CLASS_TYPE nClassType);
	virtual ~TObject();

	///////////////////////////////////////////////////
	//以下三个纯虚函数必须在所有的派生类中实现
	virtual void Move()=0;		//移动对象
	virtual void Draw()=0;		//画对象
	virtual void GetRect(RECT& rect)=0;	//取得对象的边框

	/////////////////////////////////////////////////
	//对象pObj对该对象的碰撞是否有效
	virtual BOOL HitBy(TObject * pObj){return FALSE;};
	
	////////////////////////////////////////
	//死了
	void Dead() { m_bIsDead=TRUE;}

	////////////////////////////////////////
	//是不是死了?
	BOOL IsDead(){return(m_bIsDead);}

	///////////////////////////////////////////////
	//设置对象坐标
	void SetXY(int x,int y) { m_nX = x,m_nY = y;}

	//返回对象坐标
	INT  GetX() { return m_nX; }
	INT  GetY() { return m_nY; }

	///////////////////////////////////
	//是否撞到其它对象了?
	BOOL HitTest(TObject* object);

	//////////////////////////////////////
	//是不是该我动了?
	BOOL IsMyTime();

	////////////////////////////////////////////////
	//设置延时时间
	void SetDelayTimer(DWORD dwDelayTimer){m_dwDelayTimer=dwDelayTimer;}

	////////////////////////////////////////////////
	//返回延时间
	DWORD GetDelayTimer(){return m_dwDelayTimer;}

	////////////////////////////////////////////////////
	//返回对象类型
	CLASS_TYPE ClassType(){return m_nClassType;}
};


#endif // !defined(AFX_TOBJECT_H__076A19C6_24F0_4F8A_817E_CDC031D9DE43__INCLUDED_)

⌨️ 快捷键说明

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