当前设计框架基本由永福完成,当前阶段我主要负责技能相关的设计修改以及实现。由于这是个团队作业,如何处理好相互之间的分工以及相互理解对方的代码就很关键,此问题在优秀的交流面前还是很好解决的。
整体的类图与设计思路会在团队博客给出。这里简单介绍下Skill类以及相关派生类。
注释采用的是基于doxygen的方式。
首先:
Skill类
:这是一个抽象类。
Unit* host
,int CD
,int lastCast
Probe类
:由Skill继承的技能类。Punishment
:同上。Execute
:同上。class Unit;
/// <summary>
/// 技能类
/// </summary>
class Skill
{
protected:
Unit * host;
int CD;
public:
virtual Unit* getHost() const;
virtual int getCd() const;
virtual int getLastCast() const;
protected:
int lastCast;
public:
Skill(Unit* ht);
virtual int cast()=0;
virtual bool isCastable()=0;
virtual ~Skill();
};
/**
* \brief "试探"技能类
* 技能类型:伤害
* 范围:3格
* 作用对象:小兵
* 伤害:300
*/
class Probe :public Skill
{
public:
Probe(Unit* ht);
virtual int cast();
virtual bool isCastable();
};
/**
* \brief "惩戒"技能类
* 技能类型:伤害
* 范围:3格
* 作用对象:小兵
* 伤害:650
*/
class Punishment :public Skill
{
public:
Punishment(Unit* ht);
virtual int cast();
virtual bool isCastable();
};
/**
* \brief "斩杀"技能类
* 技能类型:伤害
* 范围:5格
* 作用对象:小兵与英雄
* 伤害:已损失生命值12%
*/
class Execute :public Skill
{
public:
Execute(Unit* ht);
virtual int cast();
virtual bool isCastable();
};
花费的时间主要集中在思考讨论设计上,具体花费的时间也不知道怎么统计了。估计在成品出来时再统一汇总吧。
心路历程啊,其实早就习惯靠着百度谷歌从无到有了,所以那种感觉还是比较少了,但是能和伙伴讨论学习还是很有意思的。可能现在心态比较好吧。
原文:https://www.cnblogs.com/pullself/p/9200950.html