C#编写--斗地主源码
斗地主出牌算法
根据斗地主出牌规则.对玩家出的牌进行检验.判断是否符合出牌规则.
(关于斗地主的出牌规则网上有很多)
思路:将玩家的牌按升序排序.然后将牌进行拆分,分存在4个数组中.拆分规则如下:
假设有牌:333\444\555\789
则拆分后数组中的数据如下
arr[0]:345789
arr[1]:345
arr[2]:345
arr[3]:null
可以看出拆分规则是:如果遇到相同数字的牌则存到下一个数组的末尾.
拆分完后可以根据各数组的存储情况判定玩家出牌的类型,上面例子arr[3]为空.可以排除掉4带1(2).炸弹.的情况根据arr[2]为顺子且个数大于1,且arr[2]中存放的牌的张数乘以3刚好等于arr[0]的张数+arr[1]的张数.则可以判定是三带一的飞机.其他类型的牌也有相似的规律.以下是该算法的核心源代码.本算法用C#编写
....................
1