zoukankan      html  css  js  c++  java
  • 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保证不发生冲突。这些困难还需要一点时间去磨合吧。

    讨论的合照

  • 相关阅读:
    Android API Guides---Storage Access Framework
    Memcache安装与使用
    Can a GridView have a footer and header just like ListView?
    【大话设计模式】——简单工厂模式
    三层架构—简析
    OpenStack 使用Ceph 配置指导
    mysql 8小时问题
    centos7 安装mysql
    mysql 创建用户
    Waiting for table metadata lock
  • 原文地址:https://www.cnblogs.com/Ace-Monster/p/9203416.html
Copyright © 2011-2022 走看看