这个工具能做什么
五张抽牌扑克发牌器(5-Card Draw,源自欧美的一种经典扑克玩法)会洗一副标准的 52 张扑克牌,并以"不放回"的方式给每位玩家随机发五张牌。随后它会按照通行的扑克牌型大小规则评估每一手牌,当有多名玩家参与时还会判定出赢家。这里没有任何下注环节——它纯粹是一个发牌加比牌型的演示工具,非常适合用来学习各种牌型的大小、解决"谁大谁小"的争论,或者生成练习用的牌局。
使用方法
先选择玩家人数(1 到 5 人),然后点击"发牌"。每点一次都会重新把整副牌彻底洗匀,再按顺时针方向一张一张地发出新牌(发牌顺序不影响牌型大小)。每位玩家的五张牌都会显示出来,并附上其最佳牌型名称,例如同花(Flush)或两对(Two Pair),同时给出牌型等级编号:从 1(最大,皇家同花顺)到 10(最小,高牌)。
牌型判定的逻辑
对于每一手牌,工具会统计有多少张牌的点数相同、五张牌是否花色一致(同花),以及五个不同点数是否连续(顺子)。其判定可表示为 $$\text{rank} = f(\text{counts}, \text{isFlush}, \text{isStraight}) \in \{1,\dots,10\}$$ 其中顺子的判定为 $$\text{isStraight} = (\max-\min=4) \;\lor\; \{14,2,3,4,5\}$$ 其中 A-2-3-4-5 这种"轮子顺"会被视为顺子,此时 A 当作最小(最大牌按 5 计)。判定顺序为:皇家同花顺、同花顺、四条、葫芦、同花、顺子、三条、两对、一对、高牌。同一牌型内部若出现平手,则按关键点数比较大小——先按出现次数分组,再比较踢脚牌(kicker),均从大到小依次比较。
实例演示
玩家 1 拿到黑桃 10、J、Q、K、A。五张牌都是黑桃,所以是同花;点数 \(10\text{-}11\text{-}12\text{-}13\text{-}14\) 是五个连续且互不相同的值,所以同时也是顺子;最大牌是 10-J-Q-K-A 序列中的 A,于是构成皇家同花顺——牌型等级编号为 \(1\),是所有牌型中最大的。
扑克术语与定义
- 类别索引
- 一个从1到10的整数,用于标记手牌的类别,其中10是皇家同花顺,1是高牌。排名器从牌的数量、同花状态和顺子状态计算得出,然后比较索引以找出赢家。
- 踢脚牌
- 一张未配对的辅助牌,用于在两手牌属于同一类别时打破平局。例如,在两手牌都持有一对K的情况下,最高的剩余牌(踢脚牌)决定赢家。
- 轮牌(A-2-3-4-5)
- 可能最低的顺子,其中A作为2下面的1,而不是K上面的牌。它是有效的顺子,但排名低于2-3-4-5-6。
- 同花
- 五张相同花色的牌(例如全部红心),不构成序列。同花是类别索引6。
- 顺子
- 五张相同花色的连续牌,例如6-7-8-9-10。同时是同花的顺子变成同花顺(索引9)或皇家同花顺(索引10)。
- 葫芦
- 一张牌的三张加上另一张牌的两张(例如三个K和两个4)。它是类别索引7,描述为"三个K带两个4"。
- 两对
- 一张牌的两张,第二张牌的两张,以及一张不相关的牌。它是类别索引3,排名高于一对但低于三条。
- 频率分组的显著秩
- 按每个牌出现的次数排序的有序牌秩列表,然后按牌值排序。例如,手牌K-K-K-4-4分组为(三个K,两个4),这让排名器能够快速区分四条、葫芦、三条和对子。
- 无放回抽样
- 从52张牌的牌组中移除的每张牌在同一轮中不能再被抽出。这就是为什么5张手牌的总数是\(\binom{52}{5}\)而不是\(52^5\),以及为什么随着牌组缩小,后续牌的概率会变化。
常见问题
同一张牌会出现两次吗?不会。所有牌都来自同一副牌且不放回地发出,因此最多 25 张牌(5 名玩家 \(\times\) 5 张)始终各不相同。
A 算大还是算小?除了 A-2-3-4-5 这种轮子顺之外,A 在任何情况下都算最大(点数为 \(14\));在轮子顺中它当作 1。
赢家是如何确定的?牌型等级编号最小者获胜;若牌型相同,则比较关键点数和踢脚牌,从大到小依次决出胜负。