diff --git a/docs/contests/THUAI8/interface/interfacecpp.md b/docs/contests/THUAI8/interface/interfacecpp.md index 8aef5ca7..610e0a95 100644 --- a/docs/contests/THUAI8/interface/interfacecpp.md +++ b/docs/contests/THUAI8/interface/interfacecpp.md @@ -1,5 +1,4 @@ - -# cpp接口一览 +# THUAI8 角色控制接口文档 本文档详细介绍THUAI8游戏中的两个主要角色控制接口:ICharacterAPI和ITeamAPI,以及它们从IAPI继承的所有方法。 @@ -139,27 +138,57 @@ THUAI8::PlaceType GetPlaceType(int32_t cellX, int32_t cellY) const 获取指定格子的类型,如障碍、空地等。 ```cpp -std::optional GetEnconomyResourceState(int32_t cellX, int32_t cellY) const +std::optional GetEconomyResourceState(int32_t cellX, int32_t cellY) const ``` -- **返回类型:** `std::optional` +- **返回类型:** `std::optional` - **参数:** - `cellX`:格子X坐标 - `cellY`:格子Y坐标 获取指定格子的经济资源状态,如果该格子没有经济资源则返回空。 +**注:这里``THUAI8::EconomyResource``包含了关于经济资源的所有有效信息,包括:所属队伍``team_id``、开采进程``process``、经济资源类型``THUAI8::EconomyResourceType``** + ```cpp -std::optional> GetAdditionResourceState(int32_t cellX, int32_t cellY) const +std::optional GetAdditionResourceState(int32_t cellX, int32_t cellY) const ``` -- **返回类型:** `std::optional>` +- **返回类型:** `std::optional` - **参数:** - `cellX`:格子X坐标 - `cellY`:格子Y坐标 获取指定格子的加成资源状态,如果该格子没有加成资源则返回空。 +**注:这里``THUAI8::AdditionResource``包含了关于加成资源的所有有效信息,包括:所属队伍``team_id``、剩余血量``hp``、加成资源类型``THUAI8::AdditionResourceType``** + +```cpp +std::optional GetConstructionState(int32_t cellX, int32_t cellY) const +``` + +* **返回类型:**``std::optional` +* **参数:** + - ``cellX``:格子X坐标 + - ``cellY``:格子Y坐标 + +获取指定格子的建筑状态(不含陷阱),如果该格子没有建筑则返回空。 + +**注:这里``THUAI8::ConstructionState``包含了关于建筑的所有有效信息,包括:所属队伍``team_id``、剩余血量``hp``、建筑类型(不含陷阱)``THUAI8::ConstructionType``** + +```cpp +std::optional GetTrapState(int32_t cellX, int32_t cellY) const +``` + +* **返回类型:**``std::optional` +* **参数:** + - ``cellX``:格子X坐标 + - ``cellY``:格子Y坐标 + +获取指定格子的陷阱状态,如果该格子没有陷阱则返回空。 + +**注:这里``THUAI8::Trap``包含了关于陷阱的所有有效信息,包括:所属队伍``team_id``、是否有效``trap_valid``、陷阱类型``THUAI8::TrapType``** + ```cpp std::vector GetPlayerGUIDs() const ``` @@ -242,66 +271,49 @@ std::future Move(int32_t moveTimeInMilliseconds, double angle) 控制角色向指定方向移动指定的时间,返回操作是否成功的future对象。 -```cpp -std::future MoveRight(int64_t timeInMilliseconds) -``` - -- **返回类型:** `std::future` -- **参数:** - - `timeInMilliseconds`:移动持续时间,单位为毫秒 - -控制角色向右指定的时间,返回操作是否成功的future对象。 +### 角色攻击 ```cpp -std::future MoveUp(int64_t timeInMilliseconds) +std::future Skill_Attack(double angle) ``` - **返回类型:** `std::future` - **参数:** - - `timeInMilliseconds`:移动持续时间,单位为毫秒 + - `angle`:攻击方向,单位为弧度 -控制角色向上指定的时间,返回操作是否成功的future对象。 +角色向指定方向使用技能攻击,返回操作是否成功的future对象。 ```cpp -std::future MoveLeft(int64_t timeInMilliseconds) +std::future Common_Attack(int64_t attackedPlayerID) ``` - **返回类型:** `std::future` - **参数:** - - `timeInMilliseconds`:移动持续时间,单位为毫秒 + - `attackedPlayerID`:被攻击者角色ID -控制角色向左指定的时间,返回操作是否成功的future对象。 +角色对指定目标进行普通攻击,返回操作是否成功的future对象。 + +### 攻击建筑 ```cpp -std::future MoveDown(int64_t timeInMilliseconds) + std::future AttackConstruction() ``` -- **返回类型:** `std::future` -- **参数:** - - `timeInMilliseconds`:移动持续时间,单位为毫秒 +* **返回类型:**``std::future`` +* **参数:无** -控制角色向下指定的时间,返回操作是否成功的future对象。 +角色对建筑进行攻击,返回是否成功的future对象。 -### 角色攻击 +### 攻击加成资源 ```cpp -std::future Skill_Attack(double angle) +std::future AttackAdditionResource() ``` -- **返回类型:** `std::future` -- **参数:** - - `angle`:攻击方向,单位为弧度 +* **返回类型:**``std::future`` +* **参数:无** -角色向指定方向使用技能攻击,返回操作是否成功的future对象。 - -```cpp -std::future Common_Attack(int64_t attackedPlayerID) -``` -- **返回类型:** `std::future` -- **参数:** - - `attackedPlayerID`:被攻击者角色ID - -角色对指定目标进行普通攻击,返回操作是否成功的future对象。 +角色对加成资源进行攻击,返回是否成功的future对象。 ### 角色恢复与生产 @@ -316,13 +328,11 @@ std::future Recover(int64_t recover) 角色进行生命值恢复,返回操作是否成功的future对象。 ```cpp -std::future Produce(int64_t playerID, int64_t teamID) +std::future Produce() ``` - **返回类型:** `std::future` -- **参数:** - - `playerID`:角色ID - - `teamID`:队伍ID +- **参数:无** 角色进行资源生产,返回操作是否成功的future对象。 @@ -334,10 +344,22 @@ std::future Construct(THUAI8::ConstructionType constructionType) - **返回类型:** `std::future` - **参数:** - - `constructionType`:建筑类型 + - `constructionType`:建筑类型(除陷阱类型外) 角色建造指定类型的建筑,返回操作是否成功的future对象。 +### 建造陷阱 + +```cpp +std::future ConstructTrap(THUAI8::TrapType trapType) +``` + +* **返回类型:**``std::future`` +* **参数:** + - ``trapType``:陷阱类型 + +角色建造陷阱,返回操作是否成功的future对象。 + ### 角色信息获取 ```cpp @@ -412,4 +434,4 @@ std::future BuildCharacter(THUAI8::CharacterType CharacterType, int32_t bi 3. API调用的结果(成功/失败) 4. 游戏状态变化 -调试API的日志文件保存在"logs/api-{teamID}-{playerID}-log.txt",其中teamID是团队ID,playerID是角色ID。日志记录了API调用的时间、参数和结果,便于开发者调试和分析游戏运行情况。 +调试API的日志文件保存在"logs/api-{teamID}-{playerID}-log.txt",其中teamID是团队ID,playerID是角色ID。日志记录了API调用的时间、参数和结果,便于开发者调试和分析游戏运行情况。 \ No newline at end of file