- WL
- WXZ
- HLR
- CZD
- 红色警戒
- 环境配置
- 初步入门
- 尝试编写小游戏
- 讨论架构
- 完成demo
- 完善功能
- 代码重构
- 网络对战功能搭建
- 游戏UI美化
- 优化游戏整体体验
- 支持地图绘制、建筑物绘制、兵种绘制等
- 支持鼠标和键盘操作交互
- 支持五种基本建筑物(基地,电厂,矿场,兵营,战车工厂)
- 支持两种基本步兵(警犬,大兵)
- 支持一种基本坦克(坦克)
- 支持动画效果
- 实现服务端:支持局域网联机对战(自由对抗模式),且支持多人在同一个地图游戏
- 支持多个国家(不同国家建筑物,兵种不同)
- 支持更多兵种,如狙击兵,导弹车
- 支持聊天(组队聊天和所有人聊天)
- 支持房间列表
- 支持 >= 2 张地图
- 初始化列表
- 类型推断
- 基于范围的for循环
- Lambda表达式
- 智能指针
- 常量表达式 ( constexpr )
- 右值引用
- 字符串字面量
- 其他C++11或更高的新特性
- 跨桌面平台(Windows、Linux、MacOS 中至少两个)
- 恰当合理地使用了boost库
- 没有内存泄漏
请开始之前,请阅读编程的智慧,规范自己的习惯。
规定花括号放置的位置
- 主要包括 if条件语句,函数体:
-
使用if条件判断必须使用花括号,不允许单行不使用括号.
-
另起一行放置括号(Lambda表达式除外).
-
杜绝所有的代码之间没有任何回车!!
- 主要包括不同函数defination之间与函数内部不同功能块之间的空行:
-
不同函数体之间至少有三行回车.
-
注释与上一行代码之间至少有一行空行,即不允许出现 代码-注释-代码 紧紧相邻的情况.
-
同一函数功能类似的代码应该用多个空行隔开,便于阅读.
-
建立自己的本地Git仓库,请使用命令行进行上传代码
-
主要包括建立自己的branch与一些上传的规范
-
请保证每次push的质量, commit 包含且仅包含一项功能,严禁只改两三行就commit(除非是上次push时的版本有重大bug或过程当中发生了疏忽导致版本存在严重问题),在没有接近DDL之前,以后这种行为视为刷commit.
-
上传的描述统一使用中文 .
-
练习使用Git请使用Github上的repositoryForHomework.
-
及时pull,检查自己修改的版本是不是基于远程仓库上的最新版本.
-
上传时请检查文件路径,不要把文件上传到错误的文件夹或是上传了本地的其他临时文件.
-
-
class以大写开头,大写分割单词,比如
GameScene -
变量以_开头,接驼峰命名法,例如
_playerName -
函数使用驼峰命名法,例如
loadSource()
请使用中文注释,编码格式使用utf-8编码
-
相似功能块之间可以用
//===功能块的名称====与其他功能隔开,比如人物的攻击,人物的移动等. -
如果有现阶段无法完成,但是需要在以后所进行完善的地方,请标注
//=========== 待完善 : 添加 xxxxx ============ -
在新的功能函数前,如果函数名不能讲清楚函数的作用,请写明这个函数的主要用途。当输入输出的变量名难以解释它的含义时,也请标注出来。(如输入内容为
int role,则建议标注一下role为何值的时候代表哪个role,如果传入为std::string role时,则无需额外标注)。 -
对函数的注释应在
.h文件中,注释格式统一使用:/**
@brief 函数功能
@param 变量名 参数1 含义
@param 变量名 参数2 含义
@param 变量名 参数3 含义
……
@return 返回值
*/