Team Work Ⅱ

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保证不发生冲突。这些困难还需要一点时间去磨合吧。

讨论的合照

原文地址:https://www.cnblogs.com/Ace-Monster/p/9203416.html