首页 新闻 会员 周边

c++用类编写一个程序

0
悬赏园豆:120 [已解决问题] 解决于 2010-03-13 12:00

某个游戏需要使用一个怪物类,这种怪物的属性有血量,名字,当前状态(状态有两种分别是进攻和防御)。怪物有两种行为分别是血量调整(可增加也可减少血量),和状态的转换(进攻和防御可以转换)。这两种行为可分别通过两个不同的函数实现。请定义这个类并具体实现上面所说的两种行为(函数)。

问题补充: 请指导一下,谢谢
分享C++的故事的主页 分享C++的故事 | 初学一级 | 园豆:25
提问于:2010-03-09 17:12
< >
分享
最佳答案
0

头文件:

 

代码
enum EactorState
{
Attack,
Defense
};

class CMonster
{
private:
int m_MonsterID;
char* m_Name;
int m_HitPoint;
EactorState m_State;
public:
int MaxHitPoint;
public:
CMonster(
void);
~CMonster(void);

int getMonsterID();
char* getMonsterName();

int getHitPoint();
EactorState getMonsterState();

VOID ChangeHP(
int);
VOID ChangeState(EactorState);
};

 

 

 

改变状态和HP的实现:

 

代码
VOID CMonster::ChangeHP(int val)
{
m_HitPoint
+=val<0;
if(m_HitPoint<0)
m_HitPoint
=0;
else if(m_HitPoint>MaxHitPoint)
m_HitPoint
=MaxHitPoint;
}

VOID CMonster::ChangeState(EactorState eas)
{
m_State
=eas;
}

 

 

 

参考下吧。

光这个是很简单。但游戏开发中最好在一定程度上面向对象。

如,我们可以提取出有攻击和防御行为的接口,提取出有HP,MP等属性的抽象类。

可以联系matrixdom[at]126.com,一起交流学习

收获园豆:120
齐.net | 小虾三级 |园豆:1421 | 2010-03-10 09:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册