德州扑克分池算法 思路及lua实现

这里主要就德州扑克如何进行分池做分析


主池:当轮次下注数相同的部分进入主池

分池:当轮次下注不足时,多出的部分

分池出现的原因就是有人allin啦,当allin的人数逐渐增多,allin数值又不相同的情况下,就会出现多个分池啦!

分池思路:

根据allin的玩家数来分池,如果allin玩家只有一位,那么当轮只有一个主池.下一轮有玩家下注时开始出现边池,接下来所有玩家的注都进入第一个边池. 依次类推,直到游戏结束.

根据玩家进行的分池分析(这里只考虑出现allin玩家的情况):

--弃牌玩家:   弃牌玩家的注根据allin玩家的下注数进池

--跟注玩家:  跟注玩家一定是当轮下注最多的,所以每一个池内都会有跟注玩家下的注

--allin玩家 : alin最小的玩家只参与主池, alin最大的玩家判断是否与下注最大相同,  相同:从主池参与到最后出现的池  不相同:参与到倒数第二个出现的池


首先将allin的玩家数进行排序,

allin玩家为n位,当n>=2时,alin最小的玩家只参与主池,判断allin最大值是否与小于注玩家下注数,小于则有n+1个池,相等则有n个池.  此时对应的池中的注为:  allin[n]*参与该池下注的非弃牌玩家数+(弃牌玩家下注-allin[n-1])     ,没有allin[n-1]时为0

赢家拿走参与过的池,赢家未参与的池退回给多下注的玩家


local function FlytoWhere(allin,normal,abandon)
    --对玩家进行排序  
    --allinplayer{
  {allin玩家索引,allin数值}}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值