一个另类的坦克大战源程序

源代码在线查看: tobject.h

软件大小: 3960 K
上传用户: car_bike2000000
关键词: 源程序
下载地址: 免注册下载 普通下载 VIP

相关代码

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

相关资源