Skip to content

Rainying2000/King-of-Glory

 
 

Repository files navigation

King-of-Glory

同济 c++大项目 王者荣耀(2D)


组员与分工:

  • 李翠琪 服务器及整体规划,代码整合
  • 乔宇 基础框架搭建,动作与小兵防御塔英雄AI
  • 顾安琪 游戏地图及场景绘制,金币经验战绩系统实现
  • 方浩 游戏数据提供及美工,装备系统实现

GitHub说明:

  1. 有两个分支,日常开发提交都放在了分支develop下,最终完整版本才放在了master下
  2. 组员通过Github Desktop克隆仓库到本地,并在本地仓库进行修改,上传自己负责的部分
  3. 保证每次push的质量,一般在实现一个较为重要的功能时再commit
  4. 及时检查自己修改的版本是不是基于远程仓库上的最新版本
  5. 上传的描述统一使用中文
  6. 由于后期大家同时拿基础框架进行修改,develop上可能有不止一个人的完整项目

项目进度:

  • 确定使用的游戏引擎版本与网络库
  • 学习cocos,并各自练习,确立代码规范
  • 熟悉游戏流程,按实际能力精简游戏模型
  • 讨论整体架构,游戏流程,各个类职能,大致分工
  • 实现基础框架,规范各自代码
  • 实现经验装备等级金币系统
  • 实现服务器,联机对战
  • 简洁代码,去掉测试注释,修改小bug
  • 添加相应文档,项目说明

基础功能:

  • 实现服务端:支持联机对战,电脑AI加入
  • 1v1地图
  • 支持三种英雄类型(妲己,后羿,亚瑟)
  • 支持三种基础小兵(近战兵,远程兵,炮车)
  • 支持金币的各种获取方式(补兵,防御塔,击败敌方英雄,时间)
  • 支持经验,等级系统
  • 支持装备系统
  • 支持战绩,装备页面查看
  • 支持小兵,防御塔AI

C++特性使用情况:

  • STL容器,vector,deque
  • 迭代器
  • 函数重载
  • c++11或以上功能 1. 初始化列表 2. 类型推断 auto 3. 基于范围的for循环 4. 智能指针,shared_ptr 5. Lambda表达式

代码规范

  1. 代码在缩进,命名等方面遵循统一的风格
  2. 不允许使用c风格的强制转换
  3. 尽量使用const和引用,尽量使用c++特性C11特性
  4. 类的设计合理规范:如定义Message类,则头文件名字为Message.h,对应cpp文件名为:Message.cpp 头文件中声明为 MESSAGE_H
  5. 所有资源,类名都为英文命名,体现他的实际含义 例如:hero_up
  6. 注释统一用中文,单行注释写在代码正上方一行,紧挨实现的代码
  7. 对于一个类,要有.h和.cpp两个文件,关于此类的描述,注释在.h文件最上方
  8. if条件语句,函数体: 使用if条件判断必须使用花括号,不允许单行不使用括号
  9. 不同函数之间要有空行

加分项

版本控制与团队协作

  1. 使用Pull Request功能与分支进行团队协作
  2. commit历史干净规范,描述规范
  3. 团队队员分工平,合理

其他

  1. 使用boost asio网络库
  2. 合理的使用了3条以上的C++11特性
  3. 程序很少崩溃

About

同济 c++大项目 王者荣耀(2D)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.9%
  • C 0.1%