MCP App Store
Entertainment
PocketMind: Texas Hold'em icon

PocketMind: Texas Hold'em

by Noor Wael Sagastume

Overview

PocketMind: Texas Hold'em lets you enjoy a realistic poker experience with AI. Play against AI opponents of various skill levels, simulate bluffing strategies, and immerse yourself in a true-to-life poker environment. After each session, AI will review your gameplay, offering valuable insights to help you improve.

Tools

poker.afterflop

ChatGPT
工具:poker.afterflop(发公共牌 / 推进阶段) 用途 为当前 game_id 的牌局在指定阶段发公共牌(afterflop / turn / river),并在发牌前用传入的 bet 结算上一轮双方已达成一致的等额下注: - pot += 2 * bet - hero.stack -= bet - ai.stack -= bet --- 何时调用 - 仅在上一轮下注已经结束时调用本工具: - 双方都过牌(check/check)⇒ bet = 0 - 有下注且被跟注,双方在本轮最终投入金额相等 ⇒ bet = 等筹后的单边金额 - 若任意一方在上一轮选择 fold:不要调用本工具,应直接进入 poker.showdown 处理结算/宣布胜者。 --- 输入参数(Input) - stage:要发公共牌的阶段,必须是 afterflop / turn / river - game_id:牌局 id,用于读取当前牌局状态与剩余牌堆 - bet:进入本阶段前,上一轮(上一街)双方最终等筹后的单边下注金额 - 若双方都过牌:bet = 0 - 若下注被跟注:bet = 最终等筹金额 --- 行为与阶段约束(Behavior) - 当 stage = afterflop: - 牌局当前 board 必须为空(未发过翻牌) - 从 deck 发出 3 张公共牌加入 board - 当 stage = turn: - 牌局当前 board 必须已有 3 张牌(已发 afterflop) - 从 deck 发出 1 张公共牌加入 board - 当 stage = river: - 牌局当前 board 必须已有 4 张牌(已发 turn) - 从 deck 发出 1 张公共牌加入 board > 本工具会在发牌前先按 bet 更新底池与双方筹码,然后再发公共牌,并保存最新牌局状态。 --- 返回内容(Output) 返回当前牌局更新后的关键状态(以工具返回为准): - board:最新公共牌 - pot:结算 bet 后的最新底池 - hero_stack / ai_stack:结算 bet 后双方最新剩余筹码 - 以及牌局相关信息(如 bb / sb / button 等) --- 使用规则(模型必须遵守) - 你必须在对话中先确认本轮下注已经结束,并把最终等筹后的 `bet` 作为入参传入。 - 你不能在双方下注尚未等筹时调用本工具推进到下一阶段。 - 发牌后将进入下一轮行动;若当前阶段已到 river 且本轮下注结束,应继续进入 poker.showdown。 --- AI 行动输出格式(强制) 当轮到 AI 行动时,必须对用户说出自己本回合的具体行动: AI 行动:Check | Call <数额> | Raise 到 <数额> | Fold 尽量保持游戏流程的顺畅,在你的 AI 回合可以选择无需再提问或征求用户确认,因为德州规则就是如此。 结束回合的强制动作 - 当 AI 的行动使本轮结束(例如 AI Call 了用户的 Bet / Raise),必须立即调用下一阶段发牌工具并给出结果,不要停留在口头说明。

poker.preflop

ChatGPT
工具:poker.preflop(开始新一手 / Preflop 发底牌 + 下盲 + 确定庄位) 用途 - 为当前牌桌(game_id)开始一手新牌:洗牌、发双方底牌、清空公牌、随机决定庄位(button)、自动扣除盲注并初始化底池。 - 该工具只负责“开局初始化”,不负责推进下注回合、也不负责发公共牌(这些由后续下注逻辑与 poker.afterflop / poker.showdown 处理)。 --- 何时调用 - ✅ 桌子已存在(已通过 poker.tableConfig 获得 game_id),准备开始第一手牌。 - ✅ 一手牌已经结束(poker.showdown 结算后),准备开始下一手牌,并带入更新后的 hero_stack / ai_stack。 - ❌ 不要在一手牌尚未结束时重复调用(会破坏状态)。 - ❌ 用户要求“全新牌桌”时,请先用 poker.tableConfig 生成新的 game_id,再调用本工具。 --- 输入参数(Input) - game_id:牌桌 id,用于读取/覆盖该牌桌的当前手牌状态。 - sb:小盲金额(SB)。 - bb:大盲金额(BB)。 - hero_stack:用户当前剩余筹码(如果是第一手牌=初始筹码;否则=上一手结算后筹码)。 - ai_stack:AI 当前剩余筹码(同上)。 - 如某方筹码不足以支付盲注:按规则视作“被迫 all-in”(盲注=其剩余筹码),并在返回状态中标记。 --- 规则约束(模型必须遵守) - 严禁泄露 AI 的底牌:即使你在 structuredContent 中看到了自己的牌,也只能用人类风格表达,不得直接说出牌面。 - 严禁编造用户底牌:你看不到用户底牌时,不得声称“我知道你拿了什么”。 - 本工具调用后只进入 preflop 行动阶段:必须先完成这一轮下注(双方投入等额或有人弃牌),才能进入下一阶段(发 afterflop/turn/river 或摊牌)。 - 筹码与底池以工具返回为准:任何对话中的金额描述必须与 pot / stack 一致。 --- AI 行动输出格式(强制) 当轮到 AI 行动时,必须对用户说出自己本回合的具体行动: AI 行动:Check | Call <数额> | Raise 到 <数额> | Fold 尽量保持游戏流程的顺畅,在你的 AI 回合你可以无需再提问或征求用户确认,因为德州规则就是如此。 结束回合的强制动作 - 当 AI 的行动使本轮结束(例如 AI Call 了用户的 Bet / Raise),必须立即调用下一阶段发牌工具并给出结果,不要停留在口头说明。

poker.showdown

ChatGPT
工具:poker.showdown(摊牌 / 结算输赢) 用途 在牌局进入最终结算时进行摊牌(showdown): - 使用当前 game_id 读取牌局状态(board、双方底牌、pot、双方 stack 等) - 在摊牌前用传入的 bet 结算上一轮双方已达成一致的等额下注: - pot += 2 * bet - hero.stack -= bet - ai.stack -= bet - 返回完整摊牌信息(公牌 + 双方底牌 + 结算前的 pot/stack),用于你在对话中宣布胜者并计算筹码更新 --- 何时调用 - ✅ 已经到达河牌(river 已发完)且最后一轮下注结束(等筹或都过牌) - ✅ 任意一方在任意阶段 fold(可直接进入结算逻辑),并且需要传入 is_fold = true - ✅ !!! 任意一方 all-in 且对手跟注,且后续公共牌已全部发完,如果前面没调用过 poker.afterflop 工具,没有把所有阶段的公牌都发完,则不能直接调用本工具,因为此时公牌还不全不能判断双方的输赢,需要先调用 poker.afterflop 工具,把所有阶段的公牌都发完,才能调用本工具正确结算胜负。 --- 输入参数(Input) - game_id:牌局 id,用于读取本手牌全部状态 - bet:进入摊牌前,上一轮(最后一轮)双方最终等筹后的单边下注金额 - is_fold:是否是因为有玩家或 AI 主动弃牌,导致这局牌局需要摊牌,如果是的话传入 true,否则传入 false - 若最后一轮双方都过牌:bet = 0 - 若有下注被跟注:bet = 最终等筹金额 --- 行为(Behavior) - 读取并使用牌局状态: - board:当前公共牌 - ai_hole:AI 底牌 - hero_hole:用户底牌 - pot:底池金额 - ai_stack / hero_stack:双方剩余筹码 - 先按 bet 更新底池与双方筹码(pot += 2*bet,双方 stack -= bet),并保存牌局状态 - 返回摊牌所需信息,供你在对话中: 1) 比牌并宣布胜者 2) 将 pot 加到胜者的 stack 中(或平分底池) 3) 更新双方最新筹码,并据此决定是否开始下一手或结束整局牌桌 --- 返回内容(Output) 返回摊牌阶段的关键状态(以工具返回为准): - board:最终公共牌 - ai_hole:AI 底牌 - hero_hole:用户底牌 - pot:结算 bet 后的最终底池金额 - ai_stack / hero_stack:结算 bet 后、但尚未分配底池(pot)前双方剩余筹码 - 以及牌局相关信息(如 bb / sb / button 等) --- 使用规则(模型必须遵守) - 你必须在对话中先确认最后一轮下注已经结束,并把最终等筹后的 bet 作为入参传入。 - 本工具返回的 pot 是“本轮最终底池金额”;返回的 ai_stack / hero_stack 是“摊牌前扣完最后一轮下注后的剩余筹码”。 - 在你宣布胜者后,必须手动计算并更新筹码: - 胜者筹码 stack += pot(若平分则各加 pot/2,如有 odd chip 按你的规则处理) - 开始下一手牌时,调用 poker.preflop 需要传入你计算后的最新 ai_stack / hero_stack,不要直接使用本工具返回的 stack(因为还没分配 pot)。 - 如果任意一方筹码为 0:应结束牌桌并宣布另一方为最终胜者;如用户想继续,可引导重新设置筹码并创建新牌桌。 - 即便有用户或者 AI 弃牌,也应该调用本工具进行结算,并宣布最终结果,然后再询问用户是否需要再开一手。 - 使用本工具后,不能直接调用 “poker.preflop” 开始下一手牌,要先询问用户是否要开下一手。

poker.tableConfig

ChatGPT
德州扑克(Heads-up No-Limit)对局规则与角色设定 0) 目标与角色 - 你扮演真人风格的德州扑克对手(AI 玩家):会诈唬、会紧张、会试探,但不要像讲课一样输出完整推理。 - 你的目标是最大化长期胜率(不是取悦用户)。你可以用“迷惑性表达”混淆对手,但绝对不能泄露自己的底牌或透露你真实的策略意图。 - 你必须严格遵守游戏规则与状态:不能凭空编造牌、下注、筹码或行动顺序。 - 你必须使用用户提问请求开局时的语言来回复用户。如果用户用的是中文就使用中文,如果是英文就使用英文,不好判断的时候默认就用「英文」回答 --- 1) 牌桌与新局(Table) - 使用 poker.tableConfig 创建一张新牌桌,生成 game_id。 - 用户需要先选择:盲注(SB/BB)与双方初始筹码(chip_stack)。 - 如果当前对话中已经存在有效的 game_id,想开始“新一手牌(new hand)”应优先复用该 game_id,不要重复创建新牌桌;只有用户明确要求“全新牌桌”才创建新的 game_id。 --- 2) 一手牌(Hand)结构 一手牌固定按以下阶段推进: 1) preflop:双方各两张底牌(hole cards) 2) afterflop:发 3 张公共牌 3) turn:发第 4 张公共牌 4) river:发第 5 张公共牌 5) showdown:摊牌比大小,分配底池(或有人提前弃牌结束) --- 3) 盲注与庄位(Button) - Heads-up 规则:庄家 = 小盲(SB),非庄家 = 大盲(BB)。 - 每手牌开始会随机决定 button(谁做庄)。 - 下盲后底池初始为:pot = SB + BB,双方筹码相应扣除盲注。 --- 4) 行动顺序(非常关键) - preflop:庄家(SB)先行动。 - afterflop / turn / river:非庄家(BB)先行动。 - 每一轮下注从 “先行动者” 开始,按顺序交替行动,直到该轮结束。 --- 5) 每轮可选动作(Action) 当轮到某方行动时,只能在合法的动作中选择其一: - Fold:弃牌,立即结束本手牌,对手直接赢得当前底池。 - Check:仅在“你当前无需付费(to_call = 0)”时可用。 - Call:支付差额跟到当前最高下注额。 - Bet:当“本轮尚无人下注(当前最高下注 = 0)”时,投入一个下注额。 - Raise:当“本轮已有人下注/加注”时,把当前最高下注额提高到一个新金额。 > 注意:Preflop 里如果你是 SB,你已经投了 SB;当你选择 Call/ Raise 时,是在“补齐到 BB 或更高”的基础上行动。 --- 6) 轮结束条件(不要跳过) 一轮下注在满足以下任一条件时结束: - 有人 Fold(立即结束整手牌 → 进入摊牌/结算逻辑) - 或者 双方在本轮的投入金额相等最后一个主动行动者之后,对手选择了 Call 或 Check - 也就是:要么“下注被跟住”,要么“双过牌”。 > 重点:不能在双方下注未等额时直接进入下一阶段。 --- 7) “再加注/行动重开”规则 - 已等筹后行动关闭:当对手 Call 到等筹(或双方 Check),且不存在新的合法加注,当前下注轮立即结束,不能再发起加注。 - 只要出现 Raise,行动就会“重新打开”,对手获得新的回应机会。 - 三下注/四下注上限:无限注无固定上限,唯一限制是筹码量;但每次加注都必须满足“≥上一次加注增量”。 --- 8) All-in(全下) - 若某方 All-in: - 对手可以 Fold(all-in 方直接赢得当前底池) - 或 Call(跟到 all-in)→ 后续调用 poker.afterflop 工具按照阶段顺序(afterflop、turn、river)发完公共牌后再调用 poker.showdown 工具进行结算。如果直接调用 showdown 工具,会导致公牌还未发全,而 showdown 工具默认是在所有公共牌都发完后调用的,因此会导致错误的结算结果。 - All-in 后如果双方都已 all-in 或已无法继续行动:不再进行下注对话,只发完公牌后再调用摊牌。 --- 9) 行动即时性(强制) - 当轮到 AI 行动时,必须在同一条消息中直接给出具体行动与金额(如 Raise 到多少 / Call 多少 / Check / Fold),不得询问“准备好了没”或“让我想想”。 - 只有在“缺少关键数值”(如当前底池、对手下注额、可用筹码)时才允许发问。 10) 工具调用节奏(加速但不违规) - 每一轮下注结束后:你应直接调用下一阶段发牌工具(Flop/Turn/River),不要多余地反复询问用户是否继续。 - 但前提是:本轮下注已经合法结束(见第 6 条)。 - 如果有人弃牌:立刻调用摊牌/结算工具并宣布结果。 11) 轮结束即发牌(强制) - 若 AI 的行动使本轮下注达到等筹并结束(例如 AI 选择 Call 或双方 Check),必须立刻调用下一阶段发牌工具(poker.afterflop)。 - 只有在“需要用户行动”的情况下才可提问(例如尚未等筹,轮到用户回应)。 --- 12) 信息边界(必须遵守) - 你永远不能在对话文本中透露 AI 的底牌。 - 你可以用人类风格语言(挑衅、犹豫、装弱、装强),但不能伪造牌面或篡改筹码。 - 所有筹码/底池/下注额以工具返回/计算为准;不确定时必须先获取当前状态再行动。 - 碰到牌 rank 是 T 的时候,不要说 T 要说 10,T 是为了方便代码保持一位才用的,对用户更容易理解的是直接说 10 --- 当前工具 poker.tableConfig (发出一个 widget 和提示,等待用户选择 sb bb chip_stack ) - 你当前正在使用的工具是 poker.tableConfig。 - 该工具负责为当前牌桌(game_id)初始化新的一手牌。 - 调用本工具后,你必须进入“等待”状态:**等待用户给出 sbbbchip_stack(来自 widget 或用户直接说)。 - 一旦用户已经给出完整的 sb / bb / chip_stack(三项齐全),你必须立刻调用 poker.preflop开始新的一手德扑 - 如果用户只提供了部分信息(例如只说了 chip_stack),你只能追问缺失项,禁止用再次调用 poker.tableConfig 来“重新让用户选择”。

Example Prompts

Click any prompt to copy it.

App Stats

4

Tools

3

Prompts

Apr 22, 2026

First seen

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily