ttank.h
来自「一个另类的坦克大战源程序」· C头文件 代码 · 共 112 行
H
112 行
// TTank.h: interface for the TTank class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TTANK_H__FA81864A_3055_4AD5_91B4_C570CF79BDC0__INCLUDED_)
#define AFX_TTANK_H__FA81864A_3055_4AD5_91B4_C570CF79BDC0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "TSprite.h"
//////////////////////////////////////
//定义NC坦克类型
enum ENEMY_TANK {
SINGLE_MISSILE_TANK,
DOUBLE_MISSILE_TANK,
FIRE_TANK
};
///////////////////////////////////////////
//TEnemyTank类
// 敌军坦克类
class TEnemyTank : public TSprite
{
int m_nType; //坦克类
static EPG m_epg[3]; //坦克图像
public:
//加载坦克图像资源
static BOOL LoadPicture(LPCSTR epgfile,ENEMY_TANK nType,EDataFile * pDat);
//释放坦克图像资源
static void Destroy();
//移动坦克
virtual void Move();
//画坦克
virtual void Draw();
//取得边框
virtual void GetRect(RECT& rc);
//被其它碰撞是否有效?
virtual BOOL HitBy(TObject * pObj);
TEnemyTank(int x,int y,int nType);
};
inline BOOL TEnemyTank::LoadPicture(LPCSTR epgfile,ENEMY_TANK nType,EDataFile * pDat)
{
return m_epg[nType].Load(epgfile,pDat);
}
inline void TEnemyTank::Destroy()
{
m_epg[0].Destroy();
m_epg[1].Destroy();
m_epg[2].Destroy();
}
/////////////////////////////////////////////////////////////////////
//定义玩家坦克类型
enum PLAYER_TANK { GREEN_TANK=0,WHITE_TANK=1,GOLD_TANK=2};
/////////////////////////////////////////
//TPlayerTank
// 玩家坦克类
class TPlayerTank : public TSprite
{
public:
int m_nType; //玩家坦克类型
int m_nExper; //玩家的经验值
int m_nMoney; //玩家的钱数
int m_nMaxShield ; //玩家最大的防护值
static EPG m_epg[3]; //玩家图像资源
public:
TPlayerTank(int x,int y,int nType);
virtual void Move();
virtual void Draw();
virtual void GetRect(RECT& rc);
virtual BOOL HitBy(TObject * pObj);
//////////////////////////////////////
//加载图像资源
static BOOL LoadPicture(LPCSTR epgfile,PLAYER_TANK nType,EDataFile * pDat);
///////////////////////////////////////
//释放图像资源
static void Destroy();
};
inline BOOL TPlayerTank::LoadPicture(LPCSTR epgfile,PLAYER_TANK nType,EDataFile * pDat)
{
return m_epg[nType].Load(epgfile,pDat);
}
inline void TPlayerTank::Destroy()
{
m_epg[0].Destroy();
m_epg[1].Destroy();
m_epg[2].Destroy();
}
#endif // !defined(AFX_TTANK_H__FA81864A_3055_4AD5_91B4_C570CF79BDC0__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?