# THUAI7
清华大学第七届人工智能挑战赛电子系赛道(原电子系第 25 届队式程序设计大赛 teamstyle25)
## 赛题背景
待定
## 比赛规则
待定
## 软件架构
![structure](resource/structure.png)
## 仓库说明
### 配置说明
本仓库使用 git 进行版本控制,为所有开发工作共用仓库,请勿上传不必要的文件。主目录文件结构非必要请勿修改,且主目录中已配置的 `.gitignore`、`.gitattributes` 文件非必要请勿修改;各子目录已预先包含使用 `Visual Studio` 开发的 `.gitignore` 模板,可以根据自身需要增加忽略规则;如有必要,可在子目录下自定义 `.gitattributes` 文件。
### 目录分配
| 子目录 | 说明 | 主要开发组 |
| :--------: | :--------------------------------------------------------: | :----------------------------: |
| .github | CI,用于选手包同步到服务器上供选手下载 | 运维组 |
| CAPI | 选手接口,生成可执行文件 | 通信组 |
| docs | 比赛的说明文档 | 逻辑组、通信组、运维组、界面组 |
| dependency | 项目依赖文件,如 proto、dll、lib、dockerfile、shell 脚本等 | 逻辑组、通信组、运维组、界面组 |
| installer | 下载器,用于选手包的下载与更新,生成可执行文件 | 运维组 |
| interface | Unity 界面 | 界面组 |
| launcher | 游戏启动器,用于快速启动游戏,生成可执行文件 | 运维组 |
| logic | 游戏逻辑、Server,生成可执行文件 | 通信组、逻辑组 |
| playback | 游戏回放组件,生成类库 | 逻辑组 |
| resource | 资源文件目录,用于存储主目录下 README 所用图片 | 端茶倒水 |
### 分支管理
- main:代码较稳定版本或阶段性成果,需要 2 reviewers,但由总负责人(端茶倒水)维护
- dev:各开发者开发工作的最新进展,需要 1 reviewer
## 开发规则
### 关于社区开发者
- 社区开发者开发工作请遵循 [THUAI7社区开发者贡献指南](./CONTRIBUTING.md)
- 社区开发者贡献的代码请遵循 [Contributor Covenant Code of Conduct](./CODE_OF_CONDUCT.md)
### 开发流程
THUAI7 开发组成员与其他贡献者应当遵循以下流程:
1. 将 `eesast/THUAI7` fork 到自己的仓库中
2. 基于 `dev` 分支建立一个新的功能分支
3. 在新的分支上进行修改与开发
4. 向 `eesast/THUAI7` 的 `dev` 分支提出 pull request
5. 等待其他开发组成员 review 与 merge
### 使用 Git 与 Github 时的注意事项
- 非必要请勿上传大文件到 Github
- commit 提交信息请遵循 Semantic Commit 规范,即:`type: content `格式;**推荐使用 VS Code 提供的 Conventional Commits 插件进行格式化提交**。
常用的 commit message type 包括:
| Type | Explanation |
| -------- | ---------------------------------------------- |
| chore | 日常代码开发;改变构建流程;增加依赖库、工具等 |
| fix | 修复bug |
| refactor | 改变代码结构,但没有增加新功能 |
| docs | 修改文档,如 README、CONTRIBUTE 等 |
| revert | 版本回退 |
| ... | ... |
- 鼓励开发组成员之间互相 review 并 merge 代码到 dev 分支上。merge 前建议简单检查其 pull request 是否符合上述规范
- 一般情况下,不要向 main 分支提出 pull request,更不要 merge 到 main 分支上
- 一般情况下,不允许 merge 无法通过 CI 的 pull request
### 开发约定
+ 统一使用空格缩进而非制表符缩进
+ 统一使用 4 个空格进行缩进而非 2 个
+ 统一使用 UTF-8 字符编码
## 代码风格
本仓库严格规定了 `C++` 与 `CSharp` 代码风格,具体配置请参见 [.clang-format](.clang-format)
### 风格说明
几项重要规定如下:
- 需严格按照要求缩进
~~~csharp
namespace Exp
{
public class Program
{
public static void Main()
{
}
}
}
~~~
- `if`、`while`等关键字后须加空格
~~~csharp
while (1)
{
// code
}
~~~
- 大括号须换行书写
~~~csharp
// Allowed
if (...)
{
// ...
}
// Forbidden !!!
if (...) {
// ...
}
~~~
### 规范代码风格
- C++ 语言请按照配置文件 [.clang-format](.clang-format) 对代码进行规范,C# 语言请按照 dotnet format 进行代码规范;可以使用脚本 [dependency/shell/format.sh](./dependency/shell/format.sh) 规范代码风格
## 文档风格
仓库的文档使用 Markdown 语法,具体语法可以参照 [Markdown 语法文档](https://docs.github.com/zh/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)。
中文文档的书写须严格遵循:[中午技术文档规范](https://github.com/ruanyf/document-style-guide)、[中文文案排版指北](https://mazhuang.org/wiki/chinese-copywriting-guidelines/),以写出更美观的中文文档。例如:[中文文字与西文文字间空格](https://github.com/ruanyf/document-style-guide/blob/master/docs/text.md#%E5%AD%97%E9%97%B4%E8%B7%9D)、[全角标点符号的正确使用](https://github.com/ruanyf/document-style-guide/blob/master/docs/marks.md),等等。
西文文档的书写须遵循:
+ 在 [中午技术文档规范](https://github.com/ruanyf/document-style-guide) 和 [中文文案排版指北](https://mazhuang.org/wiki/chinese-copywriting-guidelines/) 中规定的数字和西文的规范
+ 半角空格的标点符号的使用:
+ 半角的逗号 `,`、分号 `;`、句号 `.`、叹号 `!`、问号 `?` 等标点,在不位于行尾时,后需加空格,除非其后紧跟全角标点符号。例如:`"Hello, world",是一句学习编程语言常用的句子`
+ 半角的括号 `()`、`[]`、`{}`、`<>` 等在左半括号前加空格、右半括号后加空格,除非其空格处紧跟全角标点符号或位于行首或行尾。例如:`Tsinghua University (THU) and Peking University (PKU)(我是全角括号)`
## 其他注意事项
+ 文件的字符编码格式须统一使用 UTF-8 编码,并用 4 空格缩进,尤其是 C/C++:Visual Studio 创建 cpp 文件时默认使用 GB2312 编码、TAB 缩进,因此每创建一个文件都需要注意手动设置字符编码(当代码文件中出现中文时)和缩进方式
+ 使用等宽字体进行编程,例如 Source Code Pro、Consolas 等,便于对齐
+ 注意代码的整洁性与可读性
+ 代码风格尽量统一。书写不要过于紧凑,善于使用空格、缩进与换行来让代码看起来更整洁
+ 命名风格尽量统一。相同类别的命名规则要相同,例如类名统一使用大驼峰命名法或其他常用的命名法,但是不要混用(非必要不使用匈牙利命名法)
+ 命名应当通俗易懂,让阅读代码者能够通过命名理解变量、函数等的意义。除循环变量等可以使用 `i`、`j`、`k` 等单字母外,其他的命名应当明白如话,且谨慎使用缩写。尽量使用众人皆知的缩写,不要自创缩写。如果连自己都不知道的缩写或根本没有众人皆知的缩写,则应当坚持使
没有合适的资源?快使用搜索试试~ 我知道了~
清华大学第七届人工智能挑战赛电子系赛道(原电子系第 25 届队式程序设计大赛 teamstyle25).zip
共74个文件
md:19个
csproj:11个
gitignore:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 82 浏览量
2023-10-27
07:50:31
上传
评论
收藏 190KB ZIP 举报
温馨提示
清华大学第七届人工智能挑战赛电子系赛道(原电子系第 25 届队式程序设计大赛 teamstyle25).zip
资源推荐
资源详情
资源评论
收起资源包目录
清华大学第七届人工智能挑战赛电子系赛道(原电子系第 25 届队式程序设计大赛 teamstyle25).zip (74个子文件)
empty_file.txt 0B
THUAI7-dev
SECURITY.md 304B
.github
ISSUE_TEMPLATE
custom.md 126B
feature_request.md 595B
bug_report.md 834B
workflows
format.yml 1KB
build.yml 625B
mirror.yml 757B
FUNDING.yml 832B
PULL_REQUEST_TEMPLATE.md 930B
renovate.json 197B
.clang-format 8KB
LICENSE 1KB
CONTRIBUTING.md 1KB
resource
structure.png 65KB
docs
README.md 2KB
launcher
launcher.sln 1KB
Program.cs 103B
launcher.csproj 239B
.gitignore 7KB
README.md 542B
interface
.gitignore 7KB
README.md 733B
CODE_OF_CONDUCT.md 5KB
CAPI
python
.gitignore 3KB
README.md 836B
cpp
proto
Message2Clients.pb.cc 177KB
Services.grpc.pb.h 222KB
MessageType.pb.cc 10KB
Services.pb.h 2KB
Services.pb.cc 4KB
Message2Clients.pb.h 164KB
Services.grpc.pb.cc 58KB
Message2Server.pb.cc 142KB
MessageType.pb.h 18KB
Message2Server.pb.h 121KB
test.cpp 148B
.gitignore 8KB
README.md 3KB
README.md 115B
dependency
shell
format.sh 679B
proto
Protos.csproj 1KB
format.sh 2KB
py_output.sh 427B
cpp_output.sh 331B
.clang-format 8KB
Services.proto 1KB
Message2Clients.proto 3KB
MessageType.proto 2KB
Proto.sln 1KB
Message2Server.proto 2KB
README.md 61B
.gitignore 6KB
README.md 468B
installer
installer.sln 1KB
installer.csproj 239B
Program.cs 39B
.gitignore 7KB
README.md 495B
logic
logic.sln 5KB
Client
Client.csproj 1KB
Gaming
Gaming.csproj 396B
GameEngine
GameEngine.csproj 396B
Preparation
Preparation.csproj 442B
GameClass
GameClass.csproj 331B
.gitignore 7KB
ClientTest
ClientTest.csproj 558B
README.md 2KB
Server
Server.csproj 1KB
README.md 10KB
playback
Playback
Playback.csproj 411B
playback.sln 1KB
.gitignore 7KB
README.md 510B
共 74 条
- 1
资源评论
xiaoshun007~
- 粉丝: 3839
- 资源: 3145
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功