1.新增描述文档
This commit is contained in:
192
server/docs/flowcharts/dice-为何抽到该奖励.html
Normal file
192
server/docs/flowcharts/dice-为何抽到该奖励.html
Normal file
@@ -0,0 +1,192 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>为何最终抽到该奖励</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
||||
<style>
|
||||
* { box-sizing: border-box; }
|
||||
body {
|
||||
font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
|
||||
margin: 0;
|
||||
padding: 24px 32px 48px;
|
||||
background: #f5f7fa;
|
||||
color: #1a1a2e;
|
||||
line-height: 1.6;
|
||||
}
|
||||
header { max-width: 1100px; margin: 0 auto 16px; }
|
||||
h1 { font-size: 1.5rem; margin: 0 0 8px; font-weight: 600; }
|
||||
.subtitle { color: #5c6370; font-size: 0.95rem; margin: 0; }
|
||||
.card {
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
background: #fff;
|
||||
border-radius: 12px;
|
||||
padding: 28px 24px;
|
||||
box-shadow: 0 2px 12px rgba(0,0,0,.06);
|
||||
}
|
||||
.copy-hint {
|
||||
max-width: 1100px;
|
||||
margin: 12px auto 0;
|
||||
font-size: 0.88rem;
|
||||
color: #606266;
|
||||
}
|
||||
.copy-box {
|
||||
max-width: 1100px;
|
||||
margin: 8px auto 0;
|
||||
background: #fff;
|
||||
border: 1px solid #dcdfe6;
|
||||
border-radius: 8px;
|
||||
padding: 12px 14px;
|
||||
}
|
||||
.copy-box summary { cursor: pointer; font-size: 0.9rem; color: #409eff; }
|
||||
.copy-box pre {
|
||||
margin: 10px 0 0;
|
||||
font-size: 0.78rem;
|
||||
line-height: 1.45;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
max-height: 280px;
|
||||
overflow: auto;
|
||||
color: #303133;
|
||||
}
|
||||
.legend {
|
||||
max-width: 1100px;
|
||||
margin: 20px auto 0;
|
||||
padding: 16px 20px;
|
||||
background: #fff;
|
||||
border-radius: 12px;
|
||||
font-size: 0.9rem;
|
||||
color: #444;
|
||||
}
|
||||
.legend h2 { font-size: 1rem; margin: 0 0 10px; }
|
||||
.legend ul { margin: 0; padding-left: 1.2em; }
|
||||
.legend li { margin: 4px 0; }
|
||||
.mermaid { display: flex; justify-content: center; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>为何最终抽到的是这个奖励</h1>
|
||||
<p class="subtitle">业务说明:一局抽奖从开局到到账的决策顺序(仅用本项目菜单与业务用语)</p>
|
||||
</header>
|
||||
|
||||
<p class="copy-hint">复制方式:展开下方「Mermaid 源码」全选复制,粘贴到 ProcessOn / draw.io / 飞书文档等支持 Mermaid 的流程图工具;或直接用浏览器打开本页看图。</p>
|
||||
|
||||
<div class="card">
|
||||
<pre class="mermaid">
|
||||
flowchart TD
|
||||
Start([玩家开始一局抽奖]) --> Dir[选择方向:顺时针 或 逆时针]
|
||||
Dir --> Ante[选择底注倍数]
|
||||
Ante --> Type{本局是否使用免费抽奖券?}
|
||||
|
||||
Type -->|是| Free[免费局]
|
||||
Type -->|否且平台币足够| Paid[付费局:扣除底注对应平台币]
|
||||
|
||||
Free --> PoolKill[按「杀分奖池」的 T1~T5 档位概率抽签]
|
||||
Paid --> KillCheck{彩金池已开启杀分<br/>且彩金池累计盈利 ≥ 安全线?}
|
||||
KillCheck -->|是| PoolKill
|
||||
KillCheck -->|否| PlayerW[按该玩家在「玩家管理」<br/>配置的 T1~T5 档位概率抽签]
|
||||
|
||||
PoolKill --> DrawTier[随机抽出档位 T1~T5]
|
||||
PlayerW --> DrawTier
|
||||
|
||||
DrawTier --> PickRow[在「色子奖励权重」中<br/>取该档位 + 本局方向的所有行<br/>按行权重随机一条]
|
||||
PickRow --> Got[得到:色子点数、结算金额、所属档位、落点格位]
|
||||
|
||||
Got --> KillMode{本局是否走杀分档位概率?}
|
||||
KillMode -->|是| NoLeo[不发放豹子大奖<br/>且不会抽到仅能豹子的点数 5、30]
|
||||
KillMode -->|否| NormalPath[按普通规则继续]
|
||||
NoLeo --> DiceShow[生成五颗骰子并结算]
|
||||
|
||||
NormalPath --> Leopard{色子点数是否为<br/>5 / 10 / 15 / 20 / 25 / 30?}
|
||||
Leopard -->|否| NormalWin[五颗骰子点数和 = 该点数<br/>奖金 = 结算金额 × 底注]
|
||||
Leopard -->|是| LeoRule{点数?}
|
||||
LeoRule -->|5 或 30| MustBig[必定豹子大奖]
|
||||
LeoRule -->|10 / 15 / 20 / 25| BigRate[按「奖励配置」页签「大奖权重」<br/>该点数权重决定真豹子或普通展示]
|
||||
MustBig --> BigPay[豹子奖金 = 大奖结算金额 × 底注<br/>本局不再发该点数的普通奖]
|
||||
BigRate -->|命中豹子| BigPay
|
||||
BigRate -->|未中豹子| NonLeo[五颗骰子为非豹子组合<br/>奖金 = 结算金额 × 底注]
|
||||
|
||||
NormalWin --> T5Check
|
||||
NonLeo --> T5Check
|
||||
BigPay --> EndBig([本局结束:以豹子大奖为准])
|
||||
DiceShow --> T5Check{档位为 T5 再来一次?}
|
||||
T5Check -->|是| FreeTicket[赠送 1 次免费抽奖券<br/>下次免费局须相同底注]
|
||||
T5Check -->|否| EndNormal([本局结束:以普通奖或惩罚为准])
|
||||
FreeTicket --> EndNormal
|
||||
|
||||
style Start fill:#e8f4fc
|
||||
style EndNormal fill:#e8fce8
|
||||
style EndBig fill:#fff3e0
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<details class="copy-box">
|
||||
<summary>Mermaid 源码(可复制,与同目录 .mmd 文件一致)</summary>
|
||||
<pre id="mermaid-src">flowchart TD
|
||||
Start([玩家开始一局抽奖]) --> Dir[选择方向:顺时针 或 逆时针]
|
||||
Dir --> Ante[选择底注倍数]
|
||||
Ante --> Type{本局是否使用免费抽奖券?}
|
||||
|
||||
Type -->|是| Free[免费局]
|
||||
Type -->|否且平台币足够| Paid[付费局:扣除底注对应平台币]
|
||||
|
||||
Free --> PoolKill[按「杀分奖池」的 T1~T5 档位概率抽签]
|
||||
Paid --> KillCheck{彩金池已开启杀分<br/>且彩金池累计盈利 ≥ 安全线?}
|
||||
KillCheck -->|是| PoolKill
|
||||
KillCheck -->|否| PlayerW[按该玩家在「玩家管理」<br/>配置的 T1~T5 档位概率抽签]
|
||||
|
||||
PoolKill --> DrawTier[随机抽出档位 T1~T5]
|
||||
PlayerW --> DrawTier
|
||||
|
||||
DrawTier --> PickRow[在「色子奖励权重」中<br/>取该档位 + 本局方向的所有行<br/>按行权重随机一条]
|
||||
PickRow --> Got[得到:色子点数、结算金额、所属档位、落点格位]
|
||||
|
||||
Got --> KillMode{本局是否走杀分档位概率?}
|
||||
KillMode -->|是| NoLeo[不发放豹子大奖<br/>且不会抽到仅能豹子的点数 5、30]
|
||||
KillMode -->|否| NormalPath[按普通规则继续]
|
||||
NoLeo --> DiceShow[生成五颗骰子并结算]
|
||||
|
||||
NormalPath --> Leopard{色子点数是否为<br/>5 / 10 / 15 / 20 / 25 / 30?}
|
||||
Leopard -->|否| NormalWin[五颗骰子点数和 = 该点数<br/>奖金 = 结算金额 × 底注]
|
||||
Leopard -->|是| LeoRule{点数?}
|
||||
LeoRule -->|5 或 30| MustBig[必定豹子大奖]
|
||||
LeoRule -->|10 / 15 / 20 / 25| BigRate[按「奖励配置」页签「大奖权重」<br/>该点数权重决定真豹子或普通展示]
|
||||
MustBig --> BigPay[豹子奖金 = 大奖结算金额 × 底注<br/>本局不再发该点数的普通奖]
|
||||
BigRate -->|命中豹子| BigPay
|
||||
BigRate -->|未中豹子| NonLeo[五颗骰子为非豹子组合<br/>奖金 = 结算金额 × 底注]
|
||||
|
||||
NormalWin --> T5Check
|
||||
NonLeo --> T5Check
|
||||
BigPay --> EndBig([本局结束:以豹子大奖为准])
|
||||
DiceShow --> T5Check{档位为 T5 再来一次?}
|
||||
T5Check -->|是| FreeTicket[赠送 1 次免费抽奖券<br/>下次免费局须相同底注]
|
||||
T5Check -->|否| EndNormal([本局结束:以普通奖或惩罚为准])
|
||||
FreeTicket --> EndNormal
|
||||
|
||||
style Start fill:#e8f4fc
|
||||
style EndNormal fill:#e8fce8
|
||||
style EndBig fill:#fff3e0</pre>
|
||||
</details>
|
||||
|
||||
<div class="legend">
|
||||
<h2>读图要点</h2>
|
||||
<ul>
|
||||
<li><strong>两步抽签</strong>:先抽档位 T1~T5(大奖 / 小赚 / 抽水 / 惩罚 / 再来一次),再在该档位 + 方向的多条奖励里按权重抽具体点数与结算金额。</li>
|
||||
<li><strong>免费局与杀分局</strong>:都用杀分奖池的档位概率;一般不会出豹子大奖,也不会抽到只能组成豹子的点数 5、30。</li>
|
||||
<li><strong>普通付费局</strong>:彩金池未到杀分条件时,用该玩家在「玩家管理」里的档位权重,才可能按「大奖权重」出豹子。</li>
|
||||
<li><strong>玩家最终看到</strong>:色子点数、五颗骰子图案、到账平台币(普通奖 + 豹子奖)、是否获得「再来一次」免费券。</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
mermaid.initialize({
|
||||
startOnLoad: true,
|
||||
theme: 'neutral',
|
||||
flowchart: { curve: 'basis', padding: 16, nodeSpacing: 28, rankSpacing: 40 }
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user