Skip to content

Repository files navigation

♠ 德州扑克学习助手

♠ 德州扑克学习助手 ♥

游戏化学习 · 概率计算 · 资金管理 · 翻前策略 · 纯前端离线可用

Stars License 在线体验 PWA 零依赖 BRM+Kelly

🇨🇳 中文 | 🇺🇸 English


🎯 产品简介

一个游戏化的德州扑克学习应用,帮助玩家用更直观、有趣的方式提升实战决策能力。通过胜率计算、可视化选牌、13×13 翻前矩阵和智能教练,你可以快速建立翻前策略、评估牌力并获得针对性的练习建议。

应用支持安装到手机主屏幕并支持离线使用,让学习随时随地进行。

所有计算在本地浏览器完成,不上传任何数据,离线也可用。


📸 功能预览

💡 TODO:请替换为实际截图或 GIF,展示以下场景:

  1. 可视化选牌界面
  2. 胜率计算结果展示
  3. 资金管理建议面板
  4. 13×13 翻前矩阵
  5. AI 教练对话界面

✨ 功能亮点

功能 说明 状态
📊 胜率计算器 可视化选牌界面,实时显示手牌胜率,评估不同决策的价值 ✅ 已上线
💰 资金管理建议 基于 BRM + Kelly + RoR + EV 给出行动建议,避免破产 ✅ 已上线
🎯 13×13 翻前手牌矩阵 按不同位置展示每手牌的推荐行动,建立标准化翻前策略 ✅ 已上线
🤖 AI 教练聊天 与智能教练对话,获取策略建议、复盘提示和个性化练习方案 ✅ 已上线
📱 PWA 桌面安装 iOS/Android/桌面均可安装为原生应用,支持离线全功能使用 ✅ 已上线

🚀 在线体验

👉 https://kfat77.github.io/OPEN-poker/

  • ✅ 电脑 / 手机 / 平板 浏览器直接打开
  • ✅ 无需下载,无需注册,无需后端
  • ✅ 支持添加到手机桌面,离线全功能使用(PWA)
  • ✅ 绿色赌桌风格 UI,Tesla 极简布局融合

本地使用:下载项目 → 双击 index.html → 浏览器打开即可


📱 安装到手机桌面

iPhone / iPad(Safari)
  1. Safari 打开在线地址
  2. 点击底部 分享按钮 ⬆️
  3. 选择「添加到主屏幕
  4. 桌面出现 ♠ 图标,点击全屏使用
Android(Chrome)
  1. Chrome 打开在线地址
  2. 点击菜单 → 「添加到主屏幕
  3. 桌面出现图标,像 App 一样使用

📊 模块一:胜率计算器

可视化选牌(两步选牌)

┌─────────────────────────────────────────┐
│  ♠黑桃  ♥红桃  ♣梅花  ♦方块              │  ← ① 先选一个花色
├─────────────────────────────────────────┤
│  A  K  Q  J  10  9  8  7  6  5  4  3  2 │  ← ② 再选一个数字
└─────────────────────────────────────────┘
  • 选花色:点击 4 个花色按钮之一
  • 选数字:点击 13 个数字按钮之一
  • 自动组合:花色 + 数字 = 一张牌,自动填入已选区
  • 撤销:点「↩️ 撤销」删除最后一张,或点击已选牌直接取消

四阶段计算流程

阶段 你的手牌 公共牌 说明
Pre-flop 2张 0张 只有手牌,等待翻牌
Flop 2张 3张 翻牌圈,看三张公共牌
Turn 2张 4张 转牌圈,看四张公共牌
River 2张 5张 河牌圈,五张公共牌全部发出

计算方法

阶段 剩余未知牌 计算方式 精确度
Pre-flop 50张 蒙特卡洛模拟(20万次抽样) 近似
Flop 47张 精确枚举(C(47,2)=1,081种组合) 精确
Turn 46张 精确枚举(46种组合) 精确
River 45张 直接计算最终牌型 确定

理论牌型概率参考(完全随机7张牌)

牌型 理论概率 约多少把出现一次
一对 43.82% 每2把
两对 23.50% 每4把
三条 4.83% 每21把
顺子 4.62% 每22把
同花 3.03% 每33把
葫芦 2.60% 每38把
四条 0.168% 每595把

⚠️ 实际概率因具体起手牌而异。口袋对子中三条的概率远高于随机平均!


💰 模块二:资金管理建议

基于 Bankroll Management(BRM)Kelly Criterion(凯利公式)Risk of Ruin(破产风险)Expected Value(期望值 EV) 四大理论,为你的每一次决策提供数学支撑。

需要输入的数据

输入项 说明 示例
💵 当前资金 你目前拥有的总资金 2000
🎫 买入金额 当前级别的一个买入单位 100
🏦 当前底池 桌上已累积的筹码 150
📥 需跟注 对手下注你需要跟的金额 50

系统会自动计算

指标 理论来源 说明
Equity(胜率) 蒙特卡洛模拟 你的手牌 vs 随机对手手牌,5000次模拟
EV(期望值) EV = (Equity × 赢) − ((1−Equity) × 输) 正值=长期盈利,负值=长期亏损
底池赔率 Pot Odds = 跟注额 / (底池+跟注额) 判断跟注是否"数学正确"
Kelly 比例 f* = (bp − q) / b 最优资金下注比例
半凯利 ⭐ Kelly / 2 推荐策略,降低方差,长期更稳健
破产风险 RoR R = ((1−edge)/(1+edge))^buyIns 在当前级别破产的概率
BRM 状态 Cash Game: 20-50买入为健康 根据资金/买入比评估安全等级

行动建议输出

系统综合以上所有指标,给出明确建议:

  • 🟥 弃牌 (FOLD) — EV为负或赔率不利
  • 🟦 跟注 (CALL) — 边缘正EV,控制底池
  • 🟩 加注 (RAISE) — 强牌,获取价值
  • 🟪 全押 (ALL-IN) — 超强牌,最大化收益

当资金紧张(<20买入)时,系统会自动降低激进程度,提示保护资金。


🎯 模块三:13×13 翻前手牌矩阵

德州扑克最重要的基本功——翻前起手牌范围。13×13 矩阵覆盖全部 169 种起手牌组合,按不同位置给出推荐行动:

位置 说明
UTG(枪口位) 最早行动,范围最紧,只玩最强牌
MP(中间位) 中等位置,范围适中
CO(关煞位) 倒数第二个行动,可以玩更多牌
BTN(按钮位) 最后行动,位置优势最大,范围最宽
SB(小盲位) 已投入半注,范围稍宽于UTG
BB(大盲位) 已投入一注,需要防守更宽的范围

矩阵颜色说明

颜色 含义 行动
🟩 绿色 强牌 / 优质牌 Raise / 3-bet
🟨 黄色 中等牌 / 可玩牌 Call / Limp
🟥 红色 弱牌 / 垃圾牌 Fold
🟦 蓝色 边缘牌 / 位置依赖 依位置而定

💡 翻前矩阵是建立标准化策略的基础。长期严格执行翻前范围,是区分盈利玩家与亏损玩家的关键。


🤖 模块四:AI 教练聊天

与智能扑克教练对话,获取策略建议、复盘提示和个性化练习方案。

可以问的问题示例

  • "我的资金只有 20 个买入,应该用什么策略?"
  • "翻前矩阵里的黄色格子是什么意思?"
  • "我现在手牌是 AK,翻牌后该怎么打?"
  • "Kelly 公式在实战中怎么用?"
  • "如何降低破产风险?"

AI 教练基于预设的扑克策略知识库回答,提供即时学习辅助。


🛠️ 项目结构

OPEN-poker/
├── index.html              # 主页面(UI + 交互逻辑)
├── css/
│   └── style.css           # 绿色赌桌风格 + Tesla极简布局
├── js/
│   └── poker-engine.js     # 核心引擎
│       ├── 牌型评估        # 10种牌型识别(含A-2-3-4-5小顺)
│       ├── 概率计算        # 精确枚举 + 蒙特卡洛双模式
│       ├── 胜率模拟        # Equity vs 随机对手(蒙特卡洛)
│       ├── 翻前矩阵        # 13×13 各位置起手牌范围数据
│       ├── Kelly公式       # 完整/半/四分之一凯利
│       ├── 破产风险        # Risk of Ruin 计算
│       └── EV分析          # 期望值 + 资金管理综合建议
├── test/
│   └── test-engine.cjs     # 单元测试
├── sw.js                   # Service Worker(PWA离线支持)
├── manifest.json           # PWA配置
├── README.md               # 中文文档
└── README_EN.md            # 英文文档

技术栈

  • 纯原生 JavaScript(ES6+)— 零框架
  • 纯 CSS3(CSS Variables + Grid + Flexbox)— 零UI库
  • 零依赖、零构建步骤 — 打开 HTML 就能用

核心算法

  1. 牌型评估:7张牌枚举 C(7,5)=21 种组合,取最强牌型
  2. 概率计算:组合数≤200万用精确枚举,否则蒙特卡洛20万次
  3. 胜率模拟:你的手牌 vs 随机对手手牌,5000次蒙特卡洛
  4. 翻前矩阵:169种起手牌 × 6个位置的标准化范围数据
  5. Kelly Criterion:f* = (bp − q) / b,支持完整/半/四分之一凯利
  6. Risk of Ruin:R = ((1−edge)/(1+edge))^buyIns

🗺️ 路线图 Roadmap

阶段 功能 状态
✅ v1.0 胜率计算器 + 资金管理 已完成
✅ v1.5 13×13 翻前矩阵 + AI 教练 已完成
✅ v2.0 PWA 离线支持 + 响应式布局 已完成
🔄 v2.5 多人对战模式(本地离线) 计划中
⏳ v3.0 牌局记录 + 统计分析 计划中
⏳ v3.5 手牌历史导入(PokerTracker格式) 计划中

⚠️ 免责声明

本项目仅供学习娱乐使用。德州扑克涉及赌博风险,请理性游戏,量力而行。

  • 本工具提供的数据基于数学模型和蒙特卡洛模拟,仅供参考
  • 实际牌局中对手范围、位置、形象等因素未被纳入计算
  • 本工具不保证任何盈利结果,不构成投资建议

祝你好运,愿河牌永远对你友好! 🍀

About

A poker odds calculator built for Texas Hold'em enthusiasts. This project aims to provide accurate and fast probability calculations to assist players in understanding hand equity and pot odds.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages