小Y和小Z最近迷上了一种叫梭哈的扑克游戏。梭哈又称沙蟹,是英文 Show Hand 的音译,是一种使用黑桃、红心、梅花、方片的 A 到 K 共 52 张牌(没有大小王)来进行的扑克牌游戏。
和其他扑克游戏一样,梭哈的目的是得到最大的牌型并赢得牌局:每名玩家首先需要下基本的注额,之后将获得一张底牌,这张牌只有自己知道。普通梭哈游戏的规则是,在发完底牌后的第一轮时,每个玩家都将得到一张明牌(明牌是摆在台面上的,所有人都能看见),拥有最大明牌的玩家首先发言,他可以下注、不下注(让牌)或盖牌(放弃)也可以全压(梭哈),其他玩家可以跟注(有玩家全压时必须全压)、加注或盖牌(放弃),放弃的玩家将无法继续游戏,并且之前押的筹码无法取回。而全压之后将直接把每个人的手牌补充至 5 张进行最后的判定;第二圈、第三圈和第四圈的进程与第一圈是类似的。最后,每位玩家要比牌型的大小以确定赢家。牌最大的玩家赢得牌局。
所有五张牌的组合,按以下秩序, 由大至小 排行分为不同牌型:
- 同花顺(Straight Flush):同一花色,顺序的牌。 例: Q♦ J♦ 10♦ 9♦ 8♦;
- 四条(Four of a Kind):有四张同一点数的牌。 例: 10♣ 10♦ 10♥ 10♠ 9♥;
- 满堂红(Full House):三张同一点数的牌,加一对其他点数的牌。 例: 8♣ 8♦ 8♠ K♥ K♠;
- 同花(Flush):五张同一花色的牌。 例: A♠ K♠ 10♠ 9♠ 8♠;
- 顺子(Straight):五张顺连的牌。 例: K♦ Q♥ J♠ 10♦ 9♦;
- 三条(Three of a kind):有三张同一点数的牌。 例: J♣ J♥ J♠ K♦ 9♠;
- 两对(Two Pairs):两张相同点数的牌,加另外两张相同点数的牌。 例: A♣ A♦ 8♥ 8♠ Q♠;
- 一对(One Pair):两张相同点数的牌。 例: 9♥ 9♠ A♣ J♠ 8♥;
- 无对(Zilch):不能排成以上组合的牌,以点数决定大小。例: A♦ Q♦ J♠ 9♣ 8♣。
若牌型一样则利用点数和花色决定胜负 。(点数优先)
点数的顺序(从大至小)为:A>K>Q>J>10>9>8>7>6>5>4>3>2。(注:当 5 张手牌是 5 4 3 2 A 的时候,A 可以看作最小的牌,此时的牌型仍然为顺子,是顺子里面最小的一个)。
花色的顺序(大至小) 为:黑桃(♠)>红心(♥)>梅花(♣)>方块(♦)。
举例说明:
- Q♦ J♦ 10♦ 9♦ 8♦ > 8♣ 8♥ 8♠ K♥ K♠ (前者牌型为同花顺,比后者大);
- 9♣ 9♦ 9♠ Q♥ Q♠ > 8♣ 8♦ 8♠ K♥ K♠ (两者牌型均为满堂红,比较牌型中三张同一点数的牌 9 比 8 大);
- A♣ A♦ 8♥ 8♠ Q♠ > A♠ A♥ 7♥ 7♠ K♠ (两者牌型均为两对,且最大的对子相同,此时比较次大的对子,8 比 7 大);
- A♠ Q♠ J♥ 9♥ 8♥ > A♦ Q♦ J♠ 9♣ 8♣ (两者牌型均为无对,所有数码均相同,此时比较最大牌的花色,A♠ > A♦)。
- 4♠ 4♥ A♦ Q♦ 5♦ > 4♣ 4♦ A♠ Q♠ 5♠ (两者牌型均为一对,所有数码均相同,此时对 4 为牌型里最大的部分,因此比较 4♠ > 4♣)
在小 Y 和小 Z 玩梭哈的过程中,小 Y 总希望能够实时了解目前的形势,即根据自己手上的牌算出自己的胜率。但是他的编程能力有限,你能帮他完成这个任务么?