diff --git a/CAPI/cpp/API/src/AI.cpp b/CAPI/cpp/API/src/AI.cpp index 5843e64..0caf5ff 100644 --- a/CAPI/cpp/API/src/AI.cpp +++ b/CAPI/cpp/API/src/AI.cpp @@ -17,7 +17,7 @@ extern const std::array studentType = { extern const THUAI6::TrickerType trickerType = THUAI6::TrickerType::Assassin; -//可以在AI.cpp内部声明变量与函数 +// 可以在AI.cpp内部声明变量与函数 void AI::play(IStudentAPI& api) { @@ -38,8 +38,8 @@ void AI::play(IStudentAPI& api) { // 玩家3执行操作 } - //当然可以写成if (this->playerID == 2||this->playerID == 3)之类的操作 - // 公共操作 + // 当然可以写成if (this->playerID == 2||this->playerID == 3)之类的操作 + // 公共操作 } void AI::play(ITrickerAPI& api) diff --git a/Q&A.md b/Q&A.md index 3693e10..d52f8c1 100644 --- a/Q&A.md +++ b/Q&A.md @@ -8,6 +8,10 @@ Q: Windows找不到文件:\CAPI\cpp\x64\Debug\APl.exe? A: 应该是还没有编译,打开CAPI\cpp目录,在里面打开CAPI.sln,然后点击生成,对代码进行编译 +Q:为什么CAPI.sln打开后会找不到项目 +![zip](.\resource\zip.png) + +A:要先解压 Q: 怎么修改.cmd参数? @@ -34,13 +38,19 @@ Q:显示API项目已卸载 A:可能是没有安装C++ Q:CAPI.sln编译不通过 +情况1: ![std_find_trivial](.\resource\std_find_trivial.jpg) +情况2: +![LNK1000](.\resource\LNK1000.png) A: -出现_std_find_trivial_1的报错就是没更新到VS2022, -对于VS2022依旧报错_std_find_trivial_1的,先考虑是否版本过旧 -![项目属性](.\resource\项目属性.png) -确保上图项目属性中平台工具集在V143及以上,C++17标准 +1. 应该是没使用VS2022 +2. 对于VS2022依旧报错,先考虑是否版本过旧(应当在17.5.x版本以上) + 用Visual Studio Installer(在开始菜单搜索)更新 + ![VsUpdate](.\resource\VsUpdate.png) +3. + ![项目属性](.\resource\项目属性.png) + 确保上图项目属性中平台工具集在V143及以上,C++17标准 ## Python diff --git a/logic/GameRules.md b/logic/GameRules.md index 79fa9d3..045eae2 100644 --- a/logic/GameRules.md +++ b/logic/GameRules.md @@ -1,5 +1,5 @@ # 规则 -V5.0 +V5.0.1 - [规则](#规则) - [简则](#简则) - [地图](#地图) @@ -361,6 +361,7 @@ $$ ### 技能 - CD冷却计时是在开始使用技能的瞬间开始的 +- Klee的小炸弹有碰撞体积 ### 职业 - 学生职业可以重复选择 \ No newline at end of file diff --git a/resource/LNK1000.png b/resource/LNK1000.png new file mode 100644 index 0000000..66f1c00 Binary files /dev/null and b/resource/LNK1000.png differ diff --git a/resource/VSUpdate.png b/resource/VSUpdate.png new file mode 100644 index 0000000..fd482f8 Binary files /dev/null and b/resource/VSUpdate.png differ diff --git a/resource/std_find_trivial.jpg b/resource/std_find_trivial.jpg index 72989ea..83167b6 100644 Binary files a/resource/std_find_trivial.jpg and b/resource/std_find_trivial.jpg differ diff --git a/resource/zip.png b/resource/zip.png new file mode 100644 index 0000000..85df209 Binary files /dev/null and b/resource/zip.png differ diff --git a/resource/项目属性.png b/resource/项目属性.png index aebc062..ccfcd7b 100644 Binary files a/resource/项目属性.png and b/resource/项目属性.png differ diff --git a/使用文档.md b/使用文档.md index 58fce2e..e8ecf24 100644 --- a/使用文档.md +++ b/使用文档.md @@ -1,6 +1,7 @@ # 使用文档 本文档仅供Windows选手参考,Linux选手仿照本文档即可。 +[TOC] ## C++接口使用说明 @@ -19,14 +20,19 @@ - Windows:最后通过运行`RunPython.cmd`执行比赛代码 - Linux:通过运行`RunPython.sh`执行比赛代码 +## cmd脚本的参数修改 +右键点击`.cmd`或`.bat`文件之后,选择编辑就可以开始修改文件。通过在一行的开头加上`::`,可以注释掉该行。 + ## 游戏基本启动方式(For Debug) 1. 首先启动Server:`RunServerForDebug.cmd` 2. 再启动Client:Python使用`RunPython.cmd`,C++使用`RunCpp.cmd` +3. Windows环境下可以启动WPF客户端`RunGUIClient.cmd`观看比赛 +- 下面逐一解释其中参数 -## 启动服务器(RunServer) +### 启动服务器(RunServer) -启动服务器:`RunServer.cmd`,其内部参数可自主设定,设定方式:右键-打开更多选项-编辑 +启动服务器:`RunServer.cmd`,其内部参数可自主设定 Server脚本中参数格式一般如下: @@ -57,7 +63,27 @@ Server脚本中参数格式一般如下: `--fileName`为回放文件的保存名称 -## 启动WPF客户端(RunClient) +### 启动Client(RunPython或RunCpp) + +`RunCpp.cmd`或`RunPython.cmd`的脚本参数格式如下: + +```shell +-I 127.0.0.1 -P 8888 -p 0 -d -o -w +``` + +`-I`为服务器IP,一般本地为`127.0.0.1`,联机的话是服务器的IP + +`-P`为服务器端口,一般为8888 + +`-p`为玩家id,一般学生为0~3,捣蛋鬼为4 + +`-d`为保存Debug日志文件(在`/logs/`下) + +`-o`为将日志输出到屏幕上 + +`-w`只在开启`-o`的情况下生效,此时屏幕上只输出警告或报错(而日志文件依然完整保存)。 + +### 启动WPF客户端(RunClient) 通过`RunGUIClient.cmd`,可以打开WPF客户端,其内部参数可自主设定,设定方式:右键-打开更多选项-编辑 @@ -75,7 +101,9 @@ Server脚本中参数格式一般如下: `--characterID`为玩家id -- 学生取值为0,1,2,3,捣蛋鬼取值为4 +- 学生取值为0,1,2,3,捣蛋鬼取值为4,characterID > 2023则是观战模式 +- 应当使`RunGUIClient.cmd`与 `RunPython.cmd`(或`RunCpp.cmd`)中学生、捣蛋鬼数量之和符合`RunServer.cmd`的要求 +- 如果不启动`RunPython.cmd`(或`RunCpp.cmd`),则`RunGUIClient.cmd`中学生、捣蛋鬼数量应当符合`RunServer.cmd`的要求 `--type`为玩家类型 @@ -83,17 +111,7 @@ Server脚本中参数格式一般如下: `--occupation`为职业选择,参考下表 -### 观看回放文件 - -通过WPF客户端,还可以观看比赛回放。在`RunGUIClient.cmd`中,将参数改为 - -```shell -start cmd /k win64\Client.exe --cl --playbackFile .\video.thuaipb --playbackSpeed 2 -``` - -即可观看回放文件。其中`--playbackFile`后面的参数为回放文件的路径,`--playbackSpeed`后面的参数为回放速度,取值为1~10,1为正常速度,10为最快速度。 - -### 职业对应表: +#### 职业对应表: * 学生 @@ -115,31 +133,16 @@ start cmd /k win64\Client.exe --cl --playbackFile .\video.thuaipb --playbackSpee | 3 | ANoisyPerson | | 4 | Idol | -此处只介绍职业的对应关系,详细的职业表请参考游戏规则部分。 - -## Client +#### 观看回放文件 -`RunCpp.cmd`或`RunPython.cmd`的脚本参数格式如下: +通过WPF客户端,还可以观看比赛回放。在`RunGUIClient.cmd`中,将参数改为 ```shell --I 127.0.0.1 -P 8888 -p 0 -d -o -w +start cmd /k win64\Client.exe --cl --playbackFile .\video.thuaipb --playbackSpeed 2 ``` -`-I`为服务器IP,一般本地为`127.0.0.1`,联机的话是服务器的IP - -`-P`为服务器端口,一般为8888 - -`-p`为玩家id,一般学生为0~3,捣蛋鬼为4 - -`-d`为保存Debug日志文件(在`/logs/`下) - -`-o`为将日志输出到屏幕上 - -`-w`只在开启`-o`的情况下生效,此时屏幕上只输出警告或报错(而日志文件依然完整保存)。 - -## cmd脚本的参数修改 +即可观看回放文件。其中`--playbackFile`后面的参数为回放文件的路径,`--playbackSpeed`后面的参数为回放速度,取值为1~10,1为正常速度,10为最快速度。 -右键点击`.cmd`或`.bat`文件之后,选择编辑就可以开始修改文件。通过在一行的开头加上`::`,可以注释掉该行。 ## WPF简易调试界面 @@ -170,7 +173,7 @@ start cmd /k win64\Client.exe --cl --playbackFile .\video.thuaipb --playbackSpee ### 实机体验之键鼠操作 -仅当以玩家身份启动`RunGUIClient.cmd`时可以使用,观看回放时不能使用 +仅当以玩家身份启动`RunGUIClient.cmd`时可以使用 | 键位 | 效果 | | ------------ | ---------------------------------------------- |