zoukankan      html  css  js  c++  java
  • 团队作业2

    团队作业2


    基本介绍

    当前设计框架基本由永福完成,当前阶段我主要负责技能相关的设计修改以及实现。由于这是个团队作业,如何处理好相互之间的分工以及相互理解对方的代码就很关键,此问题在优秀的交流面前还是很好解决的。


    代码设计与说明

    整体的类图与设计思路会在团队博客给出。这里简单介绍下Skill类以及相关派生类。
    注释采用的是基于doxygen的方式。
    首先:

    • Skill类:这是一个抽象类。
      • 保护成员:Unit* hostint CDint lastCast
    • Probe类:由Skill继承的技能类。
    • Punishment:同上。
    • Execute:同上。
      host是技能拥有者,CD是技能固有cd,lastCast是上次释放技能的时间。
      getHost() const:返回宿主对象。getCd() const:返回剩余技能cd。getLastCast() const:返回上次释放技能时间。cast():技能的效果,以及lastCast的获取。isCastable():判定技能是否冷却完毕。
      其中cast以及isCastable都为纯虚函数。
    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();
    };
    /**
     * rief "试探"技能类
     * 技能类型:伤害
     * 范围:3格
     * 作用对象:小兵
     * 伤害:300
     */
    class Probe :public Skill 
    {
    public:
    	Probe(Unit* ht);
    	virtual int cast();
    	virtual bool isCastable();
    };
    /**
     * rief "惩戒"技能类
     * 技能类型:伤害
     * 范围:3格
     * 作用对象:小兵
     * 伤害:650
     */
    class Punishment :public Skill
    {
    public:
    	Punishment(Unit* ht);
    	virtual int cast();
    	virtual bool isCastable();
    };
    /**
     * rief "斩杀"技能类
     * 技能类型:伤害
     * 范围:5格
     * 作用对象:小兵与英雄
     * 伤害:已损失生命值12%
     */
    class Execute :public Skill
    {
    public:
    	Execute(Unit* ht);
    	virtual int cast();
    	virtual bool isCastable();
    };
    

    小总结

    花费的时间主要集中在思考讨论设计上,具体花费的时间也不知道怎么统计了。估计在成品出来时再统一汇总吧。

    关于在完成过程中的问题

    1. 首先肯定是大量新工具如何使用的问题以及代码规范,注释规范之类种种,通过书籍,网络等工具,反反复复学习,跌跌撞撞的学过来了。
    2. 对于其他伙伴书写的代码需要一定时间的理解。
    3. 由于各自完成不同的部分,但是各部分之间的耦合度不算低,各种数据的获取方法以及数据传送处理过程常常会有冲突。
    4. 还是知识不足啊。

    心路历程啊,其实早就习惯靠着百度谷歌从无到有了,所以那种感觉还是比较少了,但是能和伙伴讨论学习还是很有意思的。可能现在心态比较好吧。

  • 相关阅读:
    Kafka(3)--kafka消息的存储及Partition副本原理
    Kafka(2)--kafka基本原理之消息的分发与接收
    Kafka(1)--kafka基础知识
    ActiveMQ(4)---ActiveMQ原理分析之消息消费
    ActiveMQ(3)---ActiveMQ原理分析之消息持久化
    ActiveMQ(2)---ActiveMQ原理分析之消息发送
    Appium的常用定位方法
    appium报错信息:Could not extract PIDs from ps output. PIDS: [], Procs: ["bad pid 'uiautomator'"]”
    mysql服务启动不了解决方法
    Node.js安装及环境配置之Windows篇
  • 原文地址:https://www.cnblogs.com/pullself/p/9200950.html
Copyright © 2011-2022 走看看