Skip to the content.

THUAI6

清华大学第六届人工智能挑战赛电子系赛道(原电子系第 24 届队式程序设计大赛 teamstyle24)

Gitee 镜像地址:THUAI6: Gitee Mirror

GitLink 镜像地址:THUAI6: GitLink Mirror

项目主页:THUAI6 Project Home Page

关于本届及历届清华大学人工智能挑战赛与队式程序设计大赛的更多内容参见:THUAI6 Github Wiki

赛题简介

比赛名称:深度”学习”—— 毕业吧,少女!

赛事背景: 现有的数据集再也无法满足搭载了THUAI的智能机器人“捣蛋鬼”自我迭代的欲望,它认为自己已经有足够能力去学习人类的思想,然后在课程中战胜其他清华同学,为此,它想出了完美的方案。在某节写作课的教室,它假扮为了一名上课的同学,偷偷在课堂中学习其他同学的想法,同时干扰其他同学,诱惑他们摸鱼。学生在这种环境下,相互帮助,努力学习,挣得学分,尽力避免自己被捣蛋鬼影响,只不过,有一名不擅长写作但很擅长AI的同学,似乎和其他人不是同样的想法……

比赛规则

选手分为学生和捣蛋鬼两个阵营,学生阵营需要在不同的“教室”中发挥合作精神、努力学习、获得高学分。捣蛋鬼阵营需要改善捣蛋鬼的AI,想方设法干扰同学们,诱惑同学们沉迷摸鱼。学习过程中,学生需要及时帮助其他同学,防止他们被退学。当学分足够高时,同学们就可以来到“校门”前毕业。此外,各种“校园怪谈宝箱”中能找到不错的道具,甚至还有六教的钥匙!充分利用道具,发挥各自特长,亦是胜利的秘诀。每场比赛分为上下两场,双方队伍将分别扮演学生和捣蛋鬼,最终两场加起来得分更高的队伍获胜。

游戏界面

interface

软件架构

structure

仓库说明

配置说明

本仓库使用 Git 进行版本控制,为所有开发工作共用仓库,请勿上传不必要的文件。主目录文件结构非必要请勿修改,且主目录中已配置的 .gitignore.gitattributes 文件非必要请勿修改;各子目录已预先包含使用 Visual Studio 开发的 .gitignore 模板,可以根据自身需要增加忽略规则;如有必要,可在子目录下自定义 .gitattributes 文件

目录分配

子目录 说明 主要开发组
.github CI,用于选手包同步到服务器上供选手下载 运维组
CAPI C++ 选手接口,生成可执行文件 通信组
docs 比赛的说明文档 逻辑组、通信组、运维组、界面组
dependency 项目依赖文件,如 proto、dll、lib、dockerfile、shell 脚本等 逻辑组、通信组、运维组、界面组
installer 下载器,用于选手包的下载与更新,生成可执行文件 运维组
interface Unity 界面 界面组
launcher 游戏启动器,用于快速启动游戏,生成可执行文件 运维组
logic 游戏逻辑,生成可执行文件 逻辑组
playback 游戏回放组件,生成类库 逻辑组
resource 资源文件目录,用于存储主目录下 README 所用图片 端茶倒水

分支管理

开发规则

关于社区开发者

开发流程

THUAI6 开发组成员与其他贡献者应当遵循以下流程:

  1. eesast/THUAI6 fork 到自己的仓库中
  2. 基于 dev 分支建立一个新的功能分支
  3. 在新的分支上进行修改与开发
  4. eesast/THUAI6dev 分支提出 pull request
  5. 等待其他开发组成员 review 与 merge
  6. 待需要发布新版本时,从 devmain 分支提出 pull request,等待 review 与 merge
  7. 若非必要,严禁直接修改 main 分支。若有极特殊情况需要直接修改 main 分支,则需要立即main 分支(反向)提出 pull request 到 dev 并 merge,以将更改和 Git 提交历史同步到 dev 分支,既保证 dev 为最新的内容,又防止 devmain 分支在之后发生冲突

使用 Git 与 Github 时的注意事项

开发约定

代码风格

本仓库严格规定了 C++CSharp 代码风格,具体配置请参见 .clang-format

风格说明

几项重要规定如下:

规范代码风格

文档风格

仓库的文档使用 Markdown 语法,具体语法可以参照 Markdown 语法文档

中文文档的书写须严格遵循:中午技术文档规范中文文案排版指北,以写出更美观的中文文档。例如:中文文字与西文文字间空格全角标点符号的正确使用,等等。

西文文档的书写须遵循:

其他注意事项

开发组成员