# 三个和尚 三个和尚是 3-8 人进行的卡牌游戏。 玩家在游戏中扮演挑水生活的和尚。但是挑水的人越多,挑到的水却越少。 首先喝到 10 口水的玩家赢得游戏胜利。 ## 游戏流程 游戏按轮进行。 每轮游戏进行以下阶段: - 出牌阶段:每名玩家各选择一张手牌扣下,同时翻开。将上一轮打出的牌收回手牌。 - 行动阶段:依次进行有玩家提议进行的行动阶段。 - 挑水阶段: - 参与玩家:持有挑水道具,且没有休息的玩家。 - 每名参与玩家将 2 个水标记放在挑水道具上。 - 从供应堆拿取玩家人数减去参与玩家数的水标记,放入桌面中央。 - 交换阶段: - 参与玩家:没有提议念经的玩家。 - 每名参与玩家将自己的道具交换给左侧参与玩家。 - 道具上的水标记一同交换。 - 喝水阶段: - 参与玩家:所有玩家。 - 每名参与玩家依次从桌面中央获得 1 个水标记。 - 喝水时,可以从自己面前的道具上获得最多 2 个水标记。 - 念经阶段: - 参与玩家:提议念经的玩家。 - 将木鱼标记交给第一名念经的玩家。 游戏开始时,随机挑选一名玩家获得木鱼标记。 所有的结算从持有木鱼标记的玩家开始顺时针依次进行。 ## 规则细化 - 行动阶段按固定顺序结算:挑水 → 交换 → 喝水 → 念经。只要任意玩家提议某阶段,该阶段本轮会结算一次。 - 出牌时,上一轮打出的行动牌本轮不可选择;所有玩家完成本轮选择后,上一轮行动牌回到手牌,本轮行动牌成为下一轮不可选择的牌。 - 游戏开始时洗混 10 张道具牌,每名玩家随机获得 1 张;未使用的道具牌不进入本局。 - 喝水阶段中,玩家按木鱼标记开始的顺时针顺序逐个结算。玩家喝水后若达到 10 口水,立即获胜;若多人同阶段可能达到 10,结算顺序靠前者先胜利。 - 木鱼道具在一轮结束时将木鱼标记交给其拥有者,会覆盖本轮念经阶段得到的木鱼标记。 - 净瓶的水来自供应堆。 - 老鼠在念经时总共移动 1 个水标记:从左右相邻玩家任一有水的道具上移动 1 个水到老鼠上。 - 大碗在其拥有者喝水时,若本次没有从大碗上喝到水,则可从桌面中央将 1 个水标记放到大碗上。 - 水缸拥有者只有自己提议喝水时才参与喝水阶段;参与时从供应堆额外获得 1 口水。 ## 游戏配件 玩家配件(8 组) - 5x 行动牌: - 提议挑水/交换/喝水/念经:若有任何玩家打出,本轮会进行此阶段。 - 休息:不参与挑水阶段。 公共配件: - 若干水标记物 - 木鱼标记 - 10x 道具牌 - 木鱼:一轮结束时,获得木鱼标记。 - 水桶:挑水道具。挑水时只需将 1 个自己的水放在桶里。 - 净瓶:念经时,在净瓶上放一个水标记。 - 木桶:挑水道具。若有其他玩家参与挑水,无需将水放在桶里。 - 大碗:喝水时若未从大碗里喝到水,可从桌面中央将 1 个水标记放在大碗上。 - 大桶:挑水道具。喝水时可从桶里喝任意口水。 - 老鼠:念经时,可从两侧玩家的道具上将一个水移动到老鼠上。 - 扁担:挑水道具。被交换时,将扁担上的水放回桌面中央。 - 水缸:喝水时从供应堆额外获得一口水。必须自己提议喝水才能参与喝水。 - 水瓢:挑水道具。挑水后,从中央将一个水放在瓢里。 ## 设计实现 - `components.ts`: 游戏数据与状态 - `commands.ts`: 玩家命令与规则命令实现 - `gameflow.ts`: 规则流程行为树