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

讨论的合照

最新文章

  1. Linux系统目录结构以及简单说明
  2. ftp 根据特定正则匹配文件名 下载到本地 并且上传文件到ftp java *** 最爱那水货
  3. Rhel6-DM多路经存储配置文档
  4. Agile 是什么?
  5. Flume 与Kafka区别
  6. Protel99se教程一:建立一个数据库文件
  7. hdu4003(树形dp)
  8. schemamvcSpringMVC+Spring3+Hibernate4开发环境搭建
  9. hdu 5664 Lady CA and the graph(树的点分治+容斥)
  10. logrotate日志轮转配置文档
  11. Numpy入门 - 生成数组
  12. 如何从Eclipse 迁移到Android Studio 且保持Eclipse项目结构
  13. 使用logdashboard查看可视化日志
  14. Log Filter分析
  15. HAProxy 参数配置
  16. web建包创建类
  17. BZOJ.4031.[HEOI2015]小Z的房间(Matrix Tree定理 辗转相除)
  18. 让InstallShield 2015 Limited Edition for Visual Studio 2015生成的setup.exe双击时以管理员权限运行
  19. HDU 4318 Power transmission(最短路)
  20. 【IDEA】【8】上传已有项目到Git

热门文章

  1. 随手练——小米OJ 高弗雷勋爵
  2. 5、JUC--实现 Callable 接口
  3. Jenkins与Github集成
  4. java.lang.NoSuchMethodError: No static method getFont
  5. 使用<button></button>标签
  6. tomcat:8080/返回404;/etc/hosts(identifier-Namespace-scope)
  7. std::max、std::min error C2589: “(”:“::”右边的非法标记,error C2059: 语法错误:“::”
  8. cloudstack secondary vm starting
  9. 微信小程序开发 [07] 写在后面的话
  10. bat 传递超过10个参数(bat参数遍历)