#Regal-Lighting团队设计 ##分工思考 本次大作业我的分工定位是:Unit及子类,主要设计实现建筑类的功能。 首先王者光耀这款游戏所需要的建筑分为三类:
1、防御塔:有一定的血量,血量为0时破坏,可以造成伤害 2、水晶:游戏胜负判断的依据,拥有一定血量,血量为0时破坏,被破坏时游戏结束,不可造成伤害 3、泉水:基础设施,玩家在泉水中央可以按时间回复一定血量,不可被破坏
从他们的属性中可以看出几个共同点:
1、血量,防御塔与水晶都有血量上限,而泉水的血量为无穷大 2、伤害,防御塔存在正向伤害,而水晶伤害值为0,泉水是回复血量可以看成反向伤害(负数)
根据以上的共同属性,可以写一个Unit基类,包含以上基础血量:
class Unit{
int blood;
int harm;
}
再根据基类继承设计出防御塔类、水晶类、泉水类,分别实现对应建筑的功能:
class Defenser::public Unit{
public:
Defenser(int b_blood, int b_harm);//构造函数
int damage();//防御塔输出伤害
bool broke();//破坏条件判定
}//防御塔子类
class Star::public Unit{
public:
Defenser(int b_blood, int b_harm);//构造函数
bool broke();//破坏条件判定
}//水晶子类
class Spring::public Unit{
public:
Defenser(int b_blood, int b_harm);//构造函数,这里b_harm可以设置成负数来回复生命值
int heal();//HP回复
}//泉水子类
当然,以上只是一些简单的功能接口的实现,有关更复杂的功能设计和实现要看主程序的要求进一步拓展
##遇到的困难 暂时还没有代码上的困难,要说最大的困难应该就是团队配合还不够熟练吧,很多接口命名没有约定好,只好一条条问领队,在GitHub上也不知道如何git保证不发生冲突。这些困难还需要一点时间去磨合吧。
##讨论的合照