• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#网络版斗地主——出牌算法和规则

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

源码在上一篇文章:http://www.cnblogs.com/zhubenwuzui/archive/2009/06/06/1497673.html

本文是对C#网络版斗地主的开发总结,同时也是最后一篇。

其他三篇文章地址:

 

网络部分实现:http://www.cnblogs.com/zhubenwuzui/archive/2009/06/07/1497968.html

地主权限的传递:http://www.cnblogs.com/zhubenwuzui/archive/2009/06/07/1498097.html

出牌权限的传递:http://www.cnblogs.com/zhubenwuzui/archive/2009/06/08/1498369.html

 

大家知道,斗地主这个游戏是将一些特有的牌组合成牌组然后来比较牌组的大小,那么,就应该给PokerGroup类定义一个属性type,即牌组的类型,type的值是一个枚举类型

 

 

Code

 

 

当玩家出牌时,首先应判断玩家的牌组类型。

我判断牌组类型的方法是根据玩家所出牌组张数的不同来做出不同的处理。比如,玩家出的牌只有一张,那么肯定是个子。如果有两张肯定是对子。如果有三张,肯定是三个。如果有6张呢?就有三种情况了:1、顺子。2、连对。、3、飞机。由于顺子,连对,飞机这三种牌可以有很多组合,顺子可以有6张顺子或者7张顺子,连对可以有4连对或者5连对。飞机可以有2连飞机,三连飞机。所以就需要写几个方法分别判断牌组是否为顺子,连对,飞机了。

顺子和对子很好判断,飞机就麻烦点了,由于飞机可以随便带一张或几张牌,如果带的牌的点数比飞机本身的点数大,那么大的那张牌就被排序到飞机前面了,这样对比较牌组的大小很不方便。所以还要有一个对飞机带翅膀这样的牌组进行排序的方法。

判断牌组类型的代码如下:

 

 

Code

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#对mysql操作的封装发布时间:2022-07-18
下一篇:
C#aspAspose.Cells教程,包含增加勾选框,单元格,字体设置发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap