斗地主手牌的统计

手牌统计

手牌统计指统计手里的牌,单张牌,对子牌,三条,四条牌的一个整体统计。
具体讲返回一个list的字典对象。

{
	1=[[a],[b]]
	2=[[a],[b]]
	3=[[a],[b]]
	4=[[a],[b]]
}

具体算法

1.首先对牌的数据进行有效排序
2.遍历手牌
2.1.1 牌型一致,将牌push进临时牌组
2.1.2 牌型不一样,将缓存牌组加入牌组字典,重置牌组,将新牌push进临时牌组
2.2.1 最后一张牌,将缓存牌组加入牌组字典

整体说明

牌组可以用数组进行操作 ,但是也可以封装一个具体的牌组模型。lua代码实现如下。

local ddz_increse=LClass("ddz_increse")

function ddz_increse:ctor()
    self.list={}
    self.index=0
end
--初始化
function ddz_increse:init()
    self.index=0
end
--增加牌
function ddz_increse:increse(value)
    self.index=self.index+1
    self.list[self.index]=value
end
--获取具体牌组
function ddz_increse:get_content(container)
    --避免重复构造table
    for i=1,self.index do
        container[i]=self.list[i]
    end
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值