同济 c++大项目 王者荣耀(2D)
- 李翠琪 服务器及整体规划,代码整合
- 乔宇 基础框架搭建,动作与小兵防御塔英雄AI
- 顾安琪 游戏地图及场景绘制,金币经验战绩系统实现
- 方浩 游戏数据提供及美工,装备系统实现
- 有两个分支,日常开发提交都放在了分支develop下,最终完整版本才放在了master下
- 组员通过Github Desktop克隆仓库到本地,并在本地仓库进行修改,上传自己负责的部分
- 保证每次push的质量,一般在实现一个较为重要的功能时再commit
- 及时检查自己修改的版本是不是基于远程仓库上的最新版本
- 上传的描述统一使用中文
- 由于后期大家同时拿基础框架进行修改,develop上可能有不止一个人的完整项目
- 确定使用的游戏引擎版本与网络库
- 学习cocos,并各自练习,确立代码规范
- 熟悉游戏流程,按实际能力精简游戏模型
- 讨论整体架构,游戏流程,各个类职能,大致分工
- 实现基础框架,规范各自代码
- 实现经验装备等级金币系统
- 实现服务器,联机对战
- 简洁代码,去掉测试注释,修改小bug
- 添加相应文档,项目说明
- 实现服务端:支持联机对战,电脑AI加入
- 1v1地图
- 支持三种英雄类型(妲己,后羿,亚瑟)
- 支持三种基础小兵(近战兵,远程兵,炮车)
- 支持金币的各种获取方式(补兵,防御塔,击败敌方英雄,时间)
- 支持经验,等级系统
- 支持装备系统
- 支持战绩,装备页面查看
- 支持小兵,防御塔AI
- STL容器,vector,deque
- 迭代器
- 函数重载
- c++11或以上功能 1. 初始化列表 2. 类型推断 auto 3. 基于范围的for循环 4. 智能指针,shared_ptr 5. Lambda表达式
- 代码在缩进,命名等方面遵循统一的风格
- 不允许使用c风格的强制转换
- 尽量使用const和引用,尽量使用c++特性C11特性
- 类的设计合理规范:如定义Message类,则头文件名字为Message.h,对应cpp文件名为:Message.cpp 头文件中声明为 MESSAGE_H
- 所有资源,类名都为英文命名,体现他的实际含义 例如:hero_up
- 注释统一用中文,单行注释写在代码正上方一行,紧挨实现的代码
- 对于一个类,要有.h和.cpp两个文件,关于此类的描述,注释在.h文件最上方
- if条件语句,函数体: 使用if条件判断必须使用花括号,不允许单行不使用括号
- 不同函数之间要有空行
版本控制与团队协作
- 使用Pull Request功能与分支进行团队协作
- commit历史干净规范,描述规范
- 团队队员分工平,合理
其他
- 使用boost asio网络库
- 合理的使用了3条以上的C++11特性
- 程序很少崩溃