From 1df4cfd9bb1e7026e82f3856b0eed4793e3acf9e Mon Sep 17 00:00:00 2001 From: szdytom Date: Wed, 7 Feb 2024 10:00:01 +0800 Subject: [PATCH] update document Signed-off-by: szdytom --- docs/processor.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/processor.md b/docs/processor.md index 8530874..ba34b79 100644 --- a/docs/processor.md +++ b/docs/processor.md @@ -361,7 +361,7 @@ | 成员标识符 | 类型 | 含义 | | :--- | :--- | :--- | | `n` | `u8` | 玩家数量 | -| `player_team` | `i32[]` | 各个玩家的所在的队伍 | +| `player_team` | `Team[]` | 各个玩家的所在的队伍 | | `modifiers` | `Modifier[]` | 特殊规则列表 | **类型** `ReplayStep`:用于表示游戏回放的一个半回合内发生的信息,该类型用于 `Replay` 的成员。 @@ -463,7 +463,10 @@ m, ,gA99,-12,s,n-10,g 1,L_10,L_n5 此时给每个队伍随机分配对应一个队伍标识。对于一个队伍,创建一个候选列表,从大到小枚举优先级,并将其该队伍对应的队伍标识包含的全部该优先级的候选首都加入候选列表中,直到候选列表中包含至少等于该队玩家数量个候选首都为止。然后在列表中随机选取作为该队伍玩家的首都。若该队伍玩家数量多于队伍标识包含的全部的候选首都数量,则随机选择该队伍玩家数量减去队伍标识包含的全部的候选首都数量个玩家标记为“剩余玩家”,不参与该队伍的首都分配。 -若队伍标识数量少于队伍数量,则随机选择队伍数量减去队伍标识数量个队伍,并将选出的队伍中的全部玩家标记为“剩余玩家”,选出的队伍不参与队伍标识分配。对于剩余玩家,创建一个候选列表,从大到小枚举优先级,并将其全部为该优先级的剩余首都都加入候选列表中,直到候选列表中包含至少等于剩余玩家数量个候选首都为止。然后在列表中随机选取作为剩余伍玩家的首都。若剩余玩家数多于剩余首都数,则在空地中随机选取一些地方作为剩余玩家的首都。 +若队伍标识数量少于队伍数量,则随机选择队伍数量减去队伍标识数量个队伍,并将选出的队伍中的全部玩家标记为“剩余玩家”,选出的队伍不参与队伍标识分配。对于剩余玩家,创建一个候选列表,从大到小枚举优先级,并将其全部为该优先级的剩余首都都加入候选列表中,直到候选列表中包含至少等于剩余玩家数量个候选首都为止。然后在列表中随机选取作为剩余伍玩家的首都。若剩余玩家数多于剩余首都数,则在空地中随机选取一些地方作为剩余玩家的首都。在随机选择空地为首都时,至少要满足以下条件: + +1. 将山区和首都视为不可走的点时,生成的地图中的空地、要塞和沼泽联通; +2. 没有两名玩家的首都相邻。 #### 错误处理 @@ -513,7 +516,7 @@ $$ 值得注意的是,不论使用何种分配算法,应当至少满足以下条件: -1. 将山区、要塞和首都视为不可走的点时,生成的地图中的空地和沼泽联通; +1. 将山区和首都视为不可走的点时,生成的地图中的空地、要塞和沼泽联通; 2. 玩家的首都应当总是分配在空地上; 3. 没有两名玩家的首都相邻。 @@ -546,7 +549,7 @@ $$ 当调用函数 `init` 时,控制器回答地图的每个格子的视野外状态,使用如下表格: | 名称 | 通信编码 | 对应的格子类型 | -| :--- | :---: | :--- | +| :--- | :---- | :--- | | 疑似山区 | 0x01 | 山区或要塞 | | 疑似空地 | 0x02 | 空地或首都 | | 沼泽 | 0x03 | 沼泽 |