复制方式：展开下方「Mermaid 源码」全选复制，粘贴到 ProcessOn / draw.io / 飞书文档等支持 Mermaid 的流程图工具；或直接用浏览器打开本页看图。

    flowchart TD
      Start([玩家开始一局抽奖]) --> Dir[选择方向：顺时针 或 逆时针]
      Dir --> Ante[选择底注倍数]
      Ante --> Type{本局是否使用免费抽奖券?}

      Type -->|是| Free[免费局]
      Type -->|否且平台币足够| Paid[付费局：扣除底注对应平台币]

      Free --> PoolKill[按「杀分奖池」的 T1～T5 档位概率抽签]
      Paid --> KillCheck{彩金池已开启杀分
    且彩金池累计盈利 ≥ 安全线?}
      KillCheck -->|是| PoolKill
      KillCheck -->|否| PlayerW[按该玩家在「玩家管理」
    配置的 T1～T5 档位概率抽签]

      PoolKill --> DrawTier[随机抽出档位 T1～T5]
      PlayerW --> DrawTier

      DrawTier --> PickRow[在「色子奖励权重」中
    取该档位 + 本局方向的所有行
    按行权重随机一条]
      PickRow --> Got[得到：色子点数、结算金额、所属档位、落点格位]

      Got --> KillMode{本局是否走杀分档位概率?}
      KillMode -->|是| NoLeo[不发放豹子大奖
    且不会抽到仅能豹子的点数 5、30]
      KillMode -->|否| NormalPath[按普通规则继续]
      NoLeo --> DiceShow[生成五颗骰子并结算]

      NormalPath --> Leopard{色子点数是否为
    5 / 10 / 15 / 20 / 25 / 30?}
      Leopard -->|否| NormalWin[五颗骰子点数和 = 该点数
    奖金 = 结算金额 × 底注]
      Leopard -->|是| LeoRule{点数?}
      LeoRule -->|5 或 30| MustBig[必定豹子大奖]
      LeoRule -->|10 / 15 / 20 / 25| BigRate[按「奖励配置」页签「大奖权重」
    该点数权重决定真豹子或普通展示]
      MustBig --> BigPay[豹子奖金 = 大奖结算金额 × 底注
    本局不再发该点数的普通奖]
      BigRate -->|命中豹子| BigPay
      BigRate -->|未中豹子| NonLeo[五颗骰子为非豹子组合
    奖金 = 结算金额 × 底注]

      NormalWin --> T5Check
      NonLeo --> T5Check
      BigPay --> EndBig([本局结束：以豹子大奖为准])
      DiceShow --> T5Check{档位为 T5 再来一次?}
      T5Check -->|是| FreeTicket[赠送 1 次免费抽奖券
    下次免费局须相同底注]
      T5Check -->|否| EndNormal([本局结束：以普通奖或惩罚为准])
      FreeTicket --> EndNormal

      style Start fill:#e8f4fc
      style EndNormal fill:#e8fce8
      style EndBig fill:#fff3e0

Mermaid 源码（可复制，与同目录 .mmd 文件一致）

    flowchart TD
      Start([玩家开始一局抽奖]) --> Dir[选择方向：顺时针 或 逆时针]
      Dir --> Ante[选择底注倍数]
      Ante --> Type{本局是否使用免费抽奖券?}

      Type -->|是| Free[免费局]
      Type -->|否且平台币足够| Paid[付费局：扣除底注对应平台币]

      Free --> PoolKill[按「杀分奖池」的 T1～T5 档位概率抽签]
      Paid --> KillCheck{彩金池已开启杀分
    且彩金池累计盈利 ≥ 安全线?}
      KillCheck -->|是| PoolKill
      KillCheck -->|否| PlayerW[按该玩家在「玩家管理」
    配置的 T1～T5 档位概率抽签]

      PoolKill --> DrawTier[随机抽出档位 T1～T5]
      PlayerW --> DrawTier

      DrawTier --> PickRow[在「色子奖励权重」中
    取该档位 + 本局方向的所有行
    按行权重随机一条]
      PickRow --> Got[得到：色子点数、结算金额、所属档位、落点格位]

      Got --> KillMode{本局是否走杀分档位概率?}
      KillMode -->|是| NoLeo[不发放豹子大奖
    且不会抽到仅能豹子的点数 5、30]
      KillMode -->|否| NormalPath[按普通规则继续]
      NoLeo --> DiceShow[生成五颗骰子并结算]

      NormalPath --> Leopard{色子点数是否为
    5 / 10 / 15 / 20 / 25 / 30?}
      Leopard -->|否| NormalWin[五颗骰子点数和 = 该点数
    奖金 = 结算金额 × 底注]
      Leopard -->|是| LeoRule{点数?}
      LeoRule -->|5 或 30| MustBig[必定豹子大奖]
      LeoRule -->|10 / 15 / 20 / 25| BigRate[按「奖励配置」页签「大奖权重」
    该点数权重决定真豹子或普通展示]
      MustBig --> BigPay[豹子奖金 = 大奖结算金额 × 底注
    本局不再发该点数的普通奖]
      BigRate -->|命中豹子| BigPay
      BigRate -->|未中豹子| NonLeo[五颗骰子为非豹子组合
    奖金 = 结算金额 × 底注]

      NormalWin --> T5Check
      NonLeo --> T5Check
      BigPay --> EndBig([本局结束：以豹子大奖为准])
      DiceShow --> T5Check{档位为 T5 再来一次?}
      T5Check -->|是| FreeTicket[赠送 1 次免费抽奖券
    下次免费局须相同底注]
      T5Check -->|否| EndNormal([本局结束：以普通奖或惩罚为准])
      FreeTicket --> EndNormal

      style Start fill:#e8f4fc
      style EndNormal fill:#e8fce8
      style EndBig fill:#fff3e0

## 读图要点

- 两步抽签：先抽档位 T1～T5（大奖 / 小赚 / 抽水 / 惩罚 / 再来一次），再在该档位 + 方向的多条奖励里按权重抽具体点数与结算金额。
- 免费局与杀分局：都用杀分奖池的档位概率；一般不会出豹子大奖，也不会抽到只能组成豹子的点数 5、30。
- 普通付费局：彩金池未到杀分条件时，用该玩家在「玩家管理」里的档位权重，才可能按「大奖权重」出豹子。
- 玩家最终看到：色子点数、五颗骰子图案、到账平台币（普通奖 + 豹子奖）、是否获得「再来一次」免费券。