1.针对有胡牌后有多种牌型可搭配,筛选出其中番数最大的一种。
2.步骤:
a.筛选出所有AAA,ABC,AA的搭配。
b.组合所有可能性的搭配,并计算番数
3.部分代码
/**
* 筛选所有可能的刻字和顺子组合。
*
* @param cards:1.去除了财神 2.已经被财神替代牌替代了。
*/
public static List<ArrayList<Integer>> filterAllKeziAndShunziCombo(int[] cards, int jokerNum, int jokerPos) {
List<ArrayList<Integer>> tmpCompany = new ArrayList<ArrayList<Integer>>();
// 有三个财神,先组合成一个刻字
if (jokerNum >= 3) {
ArrayList<Integer> tmp = new ArrayList<Integer>();
tmp.add(-1);
tmp.add(-1);
tmp.add(-1);
tmpCompany.add(tmp);
}
for (int i = 0; i < 34; i++) {
/**
* 刻字判断
* 如果是财神,且财神数小于3,就不组合
* 找出所有可以组成刻字的牌
*/
if (cards[i