75 lines
3.7 KiB
Markdown
75 lines
3.7 KiB
Markdown
|
|
# 三个和尚
|
|||
|
|
|
|||
|
|
三个和尚是 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`: 规则流程行为树
|