九、斗地主 癞子算法
发布日期:2022-04-26 05:09 点击次数:189
我们在实现山西运城斗地主时,里面有一个花牌的概念,可以用作万能牌,也就是癞子;在实现掼蛋游戏时,当前等级的红桃牌也可以当作任意牌,也是癞子。
现在加入癞子,那么在手牌扫描时,遇到癞子,只统计个数,别的牌照旧处理;在计算手牌的key, powerValue, scanTable时,都需要标明是否处理癞子;还是不匹配,按本身的值处理,比如掼蛋里打2时,红桃2就是一个2,而不会匹配到3组成炸弹。我们需要这个标志,避免多次重复展开癞子。
计算权重时,按上述原则修改完毕。在获得出牌列表时,也是类似原则,把癞子从头到尾遍历一次,获得所有可以打出的牌,再去重。由于我们计算权重,展开癞子,获得出牌列表时的效率都很高,遍历一遍也没有什么特别大的负担,几乎没有什么迟钝。