德州扑克比牌规则问题

德州扑克比牌方法
德州扑克是近年来非常流行的卡牌,我们在另外一篇文章中给大家介绍了德州扑克的流程和玩法《》,在这篇文章中,我们将为大家介绍德州扑克中最重要的比牌方法,其实也很简单,下面的扑克组合按照从大到小排列,最大的组合为皇家同花顺,皇家同花顺大于同花顺,以此内推。1.皇家同花顺?是由花色相同的10、J、Q、K、A组成。2.同花顺?是由五张同花色的连续牌,但不同于皇家同花顺组成。?两个同花顺相比,排位较高的同花顺胜利。?A可以被视为最低,所以5-4-3-2-A是同花顺,但是最高的点数是5。3.四条?是由四张点数相同的牌加上一张其他牌组成的。?如果两副牌型都为四条,四张点数相同的牌的点数较高的为大。?如果两个或两个以上玩家拥有相同的四条,由单独的那一张牌来决定大小。4.葫芦?是由三张点数相同的牌和一对组成。?满堂红对比,三张点数相同的牌的点数较高的为大。?如果三张点数相同的牌一样的情况下,由一对来决定大小。5.同花?是由五张相同花色,但点数不相连的数字组成的。?两组同花相比时,由最大的牌点来决定胜负;如果最大的牌是相同的,就取决于第二大的牌点;如果相同,就比较第三位的;以此类推。6.顺子?是由五张相连的数字,而花色不同的牌组成的,A可以认为是最高或者最低。?两副顺子相比的时候,数字排列最大的那副获胜。?顺子牌型中,A可以被认为是最高或者最低,但不能同时存在。所有说A-K-Q-J-10 和5-4-3-2-A 是正确的,但是2-A-K-Q-J 就不正确的。?5-4-3-2-A 被称为“wheel”,是顺子中最小的组合,最高点数是5点。7.三条?是五张牌中由三张相同点数的牌组成的排列。?两幅三条相比,将取决于排位较高的那副8.两对?是由两个对子组合而成的。?两副两队的牌型相比,将取决于较高的对子,将不考虑较低的对子。?如果较高的对子相同的话,将胜负将取决于较低的对子。?最后,如果两对都相同的话,将比较最后一张单牌。9.对子?是由一个对子组成的排列。?两幅对子相比的话,对子排列较高的获胜。?如果对子相同的话,较比较单牌的大小。10.杂牌?五张牌没有任何排列,两幅杂牌相比的话,将从最大的点数开始,以此类推。
转载请注明 《德州扑克比牌方法》转自同步推资讯
德州扑克为什么会没有相同大小的三条,你会玩吗?台面有一对自己有一张是不是相同的三张
oldtrafford1127
葫芦那个错了。。请问两个人怎么可能抽到一样的三张点数相同的牌,弱智。。
简单如放屁!
这尼玛这么复杂。我要能学会这个我特吗就学得会朝鲜语
同类目其他文章
12345678910
同步助手官方微博
同步推官方微博
同步招聘微博
创始人熊俊微博
游戏联运合作
联运接入商务
发行业务洽谈
管潇明QQ:
姜鑫磊QQ:
应用收录QQ:(公众号)
换量合作QQ:
友链合作QQ:
广告合作QQ
***:400-998-1389
工作时间:
周一至周五 09:30 - 22:00
周六、周日 10:00 - 19:00
厦门同步网络有限公司&&版权所有&&
地址:厦门市思明区软件园二期望海路10号之三3F&&
健康游戏忠告:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活
同步助手是最安全易用的苹果手机助手,是iPhone、iPad、iTouch的管理工具,可以下载游戏、软件、壁纸、铃声资源,玩苹果就用同步助手!&&&& 德州扑克想必很多人都玩过,当然对于新手需要说明的是,德州指的是德克萨斯州,而不是山东德州。
&&&& 这几个月一直在做一个德州扑克的服务器,分享下在计算最大牌型,比牌逻辑的算法和洗牌的方法,希望对大家有帮助。
&&&& 首先我们定义一下Poker类
public class Poker
private S // 图片扑克花色的表示(代表的是红桃、黑桃,梅花、方块
// 表示扑克牌面的大
public Poker(String tag, int num)
this.num =
this.tag =
public int getNum()
public void setNum(int num)
this.num =
public void setTag(String tag)
this.tag =
public String getTag()
public String toString()
return " tag: " + this.tag +" num: " + this.
&  这里说明下,ABCD代表四种不同的花色,2-16代表不同的牌面,A用14代替,我想不用多解释吧!
  首先是洗牌这块,我们奔着不重复造轮子的思想,借用Collections.shuffle(List)接口,去将52张牌打乱顺序,然后随机随机抽取。
&&&&& 首先是,获取每个玩家的最大牌型,即从N张扑克中取出5张最大的,我们从N张牌中抽出5张牌,有N多种算法,这里给出一个算法
private static Map&Integer, List&Poker&& SevenToFiveGroups(List&Poker& map)
Map&Integer, List&Poker&& group = new HashMap&Integer, List&Poker&&();
int num = 0;
for (int a = 0; a & 3; a++)
for (int b = a + 1; b & 4; b++)
for (int c = b + 1; c & 5; c++)
for (int d = c + 1; d & 6; d++)
for (int e = d + 1; e & 7; e++)
List&Poker& pukeGroup = new ArrayList&Poker&();
pukeGroup.add(map.get(a));
pukeGroup.add(map.get(b));
pukeGroup.add(map.get(c));
pukeGroup.add(map.get(d));
pukeGroup.add(map.get(e));
group.put(num++, pukeGroup);
&&&&&&在取得所有可能的组合之后,我们从这些组合中得到最大的一副手牌。为了得到最大的一副手牌,我们计算每付(五张牌)手牌的大小。首先对这五张牌进行排序,从大到小,手牌的大小为一个Long整形的数,手牌等级占两位(比如高牌为10,一对为11,二两为12,以此类推),五张扑克,每张扑克的数值占两位,所以手牌的大小是一个12位的整数,
  比如图1.2的一副牌
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图1.2
   这副手牌的大小为
  需要注意的是,在遇到有对子的是情况,无论是两对还是三双,都要进行特殊排序,葫芦和三双的情况下,要把三个一样的大的牌排到前面,然后再排对子,这样才能保证在比较牌大小的情况下,正确比较出大小。还有就是在遇到A2345这样的顺子的情况下,要讲A排在最后,因为34567的顺子是比A2345大的。当然这两种情况是属于比较特殊情况,需要特别处理。
对应程序的算法为:
  首先计算手牌的等级,如果是顺子或者同花就不用说了,对子三双葫芦起始是相对比较难比较的,这里给出一个算法,
int Pukelevel = -1;
int flag = 0;
for (int i = 0; i & list.size(); i++)
for (int j = i + 1; j & list.size(); j++)
if (list.get(i).getNum() == list.get(j).getNum())
switch (flag)
&& & & this.level即牌型, 就是这样计算出来的,然后就是计算这副手牌的大小了!
long lon = L * 10;
this.pkValue = 0L;
for(int i = 0 ; i & this.list.size() ; i++)
int interval = 1;
for(int j = j & this.list.size() - 1 ; j ++)
interval *= 10;
interval *= 10;
this.pkValue += this.list.get(i).getNum() *
this.pkValue += this.level *
  剩下的就是对所有的情况,进行排序;所有玩家比较的时候,也是这样的情况!
& & &希望对大家有帮助。
阅读(...) 评论()

参考资料

 

随机推荐