コード例 #1
0
ファイル: mahjong_cardtype.py プロジェクト: qianyc1020/phz
    def big_double(handlist, rogue):
        """
        :大对
        :param handlist:
        :param rogue:
        :return:
        """
        temp = list()
        temp.extend(handlist)
        san = MahjongUtils.get_san(temp)
        for i in range(0, 3):
            for s in san:
                temp.remove(s)
        rogueSize = MahjongUtils.containSize(handlist, rogue)
        if 0 == rogueSize and 2 == len(temp) and temp[0] == temp[1]:
            return True
        if rogue not in san:
            for i in range(0, rogueSize):
                temp.remove(rogue)
        if rogue in temp:
            temp.remove(rogue)
        dui = MahjongUtils.get_dui(temp)
        if 1 == rogueSize and ((2 == len(dui) and 4 == len(temp)) or 1 == len(temp)):
            return True
        if 2 == rogueSize and (
                (1 == len(dui) and 3 == len(temp)) or (3 == len(dui) and 6 == len(temp)) or 0 == len(temp)):
            return True
        if 3 == rogueSize and ((4 == len(dui) and 8 == len(temp)) or (
                2 == len(dui) and 5 == len(temp)) or 2 == len(temp)):
            return True
        if 4 == rogueSize and ((5 == len(dui) and 10 == len(temp)) or (3 == len(dui) and 7 == len(temp)) or (
                0 < len(dui) and 4 == len(temp)) or 1 == len(temp)):
            return True

        return False
コード例 #2
0
ファイル: rongchang_mahjong.py プロジェクト: qianyc1020/phz
def getCardType(handlist, penglist, gangdata, rogue, hucard):
    """
    :获取牌型
    :return:
    """
    card_type = list()
    allcard = list()
    allcard.extend(handlist)
    allcard.extend(penglist)
    for gang in gangdata:
        allcard.append(gang.gangvalue)
    allcard = sorted(allcard)
    if MahjongCardType.gold_hook(handlist):
        card_type.append(11)
    elif MahjongCardType.big_double(handlist, rogue):
        card_type.append(7)
    if MahjongCardType.same_color(allcard, rogue):
        card_type.append(8)
    double7 = MahjongCardType.double7(handlist, rogue)
    if 0 <= double7:
        if 4 == MahjongUtils.containSize(handlist, hucard):
            card_type.append(10)
        else:
            card_type.append(9)
    return card_type
コード例 #3
0
 def calculate(self, request, context):
     """
     :计算
     :param request:
     :param context:
     :return:
     """
     calculate = CalculateResult()
     san = MahjongUtils.get_san(request.player.handlist)
     calculate.dui.extend(MahjongUtils.get_dui(request.player.handlist))
     calculate.san.extend(san)
     calculate.si.extend(MahjongUtils.get_si(request.player.handlist))
     zimo = MahjongUtils.get_hu(request.player.handlist, request.rogue)
     calculate.zimo.extend(zimo)
     calculate.hu.extend(zimo)
     return calculate
コード例 #4
0
ファイル: start.py プロジェクト: qianyc1020/phz
 def baojiaoGang(self, request, context):
     """
     :报叫杠
     :param request:
     :param context:
     :return:
     """
     gangs = Cards()
     si = MahjongUtils.get_si(request.player.handlist)
     for s in si:
         temp = list()
         temp.extend(request.player.handlist)
         temp.remove(s)
         temp.remove(s)
         temp.remove(s)
         temp.remove(s)
         if 0 < len(MahjongUtils.get_hu(temp, 0)):
             gangs.cards.append(s)
         temp.append(s)
         temp.append(s)
         temp.append(s)
         temp.append(s)
     for p in request.player.peng:
         temp = request.player.handlist
         if p in temp:
             temp.remove(p)
             if 0 < len(MahjongUtils.get_hu(temp, 0)):
                 gangs.cards.append(p)
             temp.append(p)
     if 0 == len(gangs.cards) and len(request.player.handlist) % 3 == 1:
         san = MahjongUtils.get_san(request.player.handlist)
         for s in san:
             temp = list()
             temp.extend(request.player.handlist)
             temp.remove(s)
             temp.remove(s)
             temp.remove(s)
             if 0 < len(MahjongUtils.get_hu(temp, 0)):
                 gangs.cards.append(s)
             temp.append(s)
             temp.append(s)
             temp.append(s)
     return gangs
コード例 #5
0
ファイル: mahjong_cardtype.py プロジェクト: qianyc1020/phz
 def same_color(allcards, rogue):
     """
     :清一色
     :param allcards:
     :return:
     """
     temp = list()
     temp.extend(allcards)
     rogueSize = MahjongUtils.containSize(allcards, rogue)
     for i in range(0, rogueSize):
         temp.remove(rogue)
     return temp[0] / 10 == temp[len(temp) - 1] / 10
コード例 #6
0
ファイル: mahjong_cardtype.py プロジェクト: qianyc1020/phz
 def double7(handlist, rogue):
     """
     :七对
     :param handlist:
     :param rogue:
     :return:
     """
     temp = list()
     temp.extend(handlist)
     sorted(temp)
     rogueSize = MahjongUtils.containSize(handlist, rogue)
     for i in range(0, rogueSize):
         temp.remove(rogue)
     si = MahjongUtils.get_si(temp)
     if 14 == len(handlist) and 14 - (2 * (len(MahjongUtils.get_dui(temp)) + len(si))) <= 2 * rogueSize:
         siCount = 0
         temp1 = list()
         temp1.extend(temp)
         for i in range(0, 4):
             for s in si:
                 temp1.remove(s)
         siCount += len(si)
         san = MahjongUtils.get_san(temp1)
         for i in range(0, 3):
             for s in san:
                 temp1.remove(s)
         siCount += len(san)
         rogueSize -= len(san)
         dui = MahjongUtils.get_dui(temp1)
         for i in range(0, 2):
             for d in dui:
                 temp1.remove(d)
         rogueSize -= len(temp1)
         siCount += rogueSize / 2
         return siCount
     return -1
コード例 #7
0
ファイル: start.py プロジェクト: qianyc1020/phz
 def calculate(self, request, context):
     """
     :计算
     :param request:
     :param context:
     :return:
     """
     calculate = CalculateResult()
     san = MahjongUtils.get_san(request.player.handlist)
     if not request.player.baojiao:
         calculate.dui.extend(MahjongUtils.get_dui(request.player.handlist))
         calculate.san.extend(san)
         calculate.si.extend(MahjongUtils.get_si(request.player.handlist))
     else:
         gang = list()
         for s in san:
             temp = list()
             temp.extend(request.player.handlist)
             temp.remove(s)
             temp.remove(s)
             temp.remove(s)
             if 0 < len(MahjongUtils.get_hu(temp, 0)):
                 gang.append(s)
             temp.append(s)
             temp.append(s)
             temp.append(s)
         calculate.san.extend(gang)
     if 1 == request.allocid:
         zimo = MahjongUtils.get_hu(request.player.handlist, request.rogue)
         calculate.zimo.extend(zimo)
         hu = list()
         for z in zimo:
             handlist = list()
             handlist.extend(request.player.handlist)
             handlist.append(z)
             if 10 != wanzhou_mahjong.getCardType(
                     handlist, request.player.peng, request.player.gang,
                     request.rogue):
                 hu.append(z)
         calculate.hu.extend(hu)
     if 2 == request.allocid or 3 == request.allocid:
         zimo = MahjongUtils.get_hu(request.player.handlist, request.rogue)
         calculate.zimo.extend(zimo)
         calculate.hu.extend(zimo)
     return calculate
コード例 #8
0
    def settle(self, request, context):
        """
        :结算
        :param request:
        :param context:
        :return:
        """
        logging.info("封顶")
        logging.info(request.fengding)
        logging.info("赔叫")
        logging.info(request.peijiao)
        settle = SettleResult()
        user_settles = {}
        users = {}
        cannothu_user = []
        for user in request.player:
            user_settle = settle.userSettleResule.add()
            user_settle.userId = user.player_id
            user_settles.setdefault(user.player_id, user_settle)
            users.setdefault(user.player_id, user)
            cannothu_user.append(user.player_id)

        # 胡牌计算
        for hudata in request.hudata:
            if hudata.huUser in cannothu_user:
                cannothu_user.remove(hudata.huUser)
            tempcard = list()
            tempcard.extend(users[hudata.huUser].handlist)
            tempcard.append(hudata.majong)
            # 获取牌型
            ct = chengdu_mahjong.getCardType(tempcard,
                                             users[hudata.huUser].peng,
                                             users[hudata.huUser].gang, 0)
            ct.extend(hudata.settle)
            user_settles[hudata.huUser].settlePatterns.extend(ct)
            score = chengdu_mahjong.getScore(ct)
            # 带跟翻倍
            allcard = []
            allcard.extend(tempcard)
            for p in users[hudata.huUser].peng:
                allcard.append(p)
                allcard.append(p)
                allcard.append(p)
            for g in users[hudata.huUser].gang:
                allcard.append(g.gangvalue)
                allcard.append(g.gangvalue)
                allcard.append(g.gangvalue)
                allcard.append(g.gangvalue)
            for i in range(0, len(MahjongUtils.get_si(allcard))):
                score *= 2
            if 0 in ct and request.zimojiafan:
                score *= 2
            if score > request.fengding:
                score = request.fengding
            if 0 in ct and not request.zimojiafan:
                score += 1
            for u in hudata.loseUsers:
                user_settles[u].cardScore -= score
                user_settles[hudata.huUser].cardScore += score
        if request.peijiao:
            peijiao_users = list()
            user_score = {}
            if 1 < len(cannothu_user):
                for c in cannothu_user:
                    huTemp = MahjongUtils.get_hu(users[c].handlist,
                                                 request.rogue)
                    # 有叫
                    if 0 < len(huTemp):
                        score = 0
                        for h in huTemp:
                            tempcard = list()
                            tempcard.extend(users[c].handlist)
                            tempcard.append(h)
                            # 获取牌型
                            cardtype = chengdu_mahjong.getCardType(
                                tempcard, users[c].peng, users[c].gang,
                                request.rogue)
                            cardscore = chengdu_mahjong.getScore(cardtype)
                            # 带跟翻倍
                            allcard = []
                            allcard.extend(tempcard)
                            for p in users[c].peng:
                                allcard.append(p)
                                allcard.append(p)
                                allcard.append(p)
                            for g in users[c].gang:
                                allcard.append(g.gangvalue)
                                allcard.append(g.gangvalue)
                                allcard.append(g.gangvalue)
                                allcard.append(g.gangvalue)
                            for i in range(0,
                                           len(MahjongUtils.get_si(allcard))):
                                cardscore *= 2
                            if cardscore > score:
                                score = cardscore
                            if score > request.fengding:
                                score = request.fengding
                        if score > 0:
                            user_score.setdefault(c, score)
                    else:
                        peijiao_users.append(c)
                if 0 < len(user_score) and 0 < len(peijiao_users):
                    for key, value in user_score.items():
                        for p in peijiao_users:
                            user_settles[p].cardScore -= value
                            user_settles[key].cardScore += value
                # 杠分计算
                for user in request.player:
                    for g in user.gang:
                        winuser = user.player_id
                        if 0 != g.zhuanyi:
                            winuser = g.zhuanyi
                        if winuser not in peijiao_users:
                            if g.type == BGANG:
                                user_settles[winuser].gangScore += len(
                                    g.fighter)
                                for f in g.fighter:
                                    user_settles[f].gangScore -= 1
                            if g.type == MGANG:
                                user_settles[winuser].gangScore += 2 * len(
                                    g.fighter)
                                for f in g.fighter:
                                    user_settles[f].gangScore -= 2
                            if g.type == AGANG:
                                user_settles[winuser].gangScore += 2 * len(
                                    g.fighter)
                                for f in g.fighter:
                                    user_settles[f].gangScore -= 2
            else:
                for user in request.player:
                    for g in user.gang:
                        winuser = user.player_id
                        if 0 != g.zhuanyi:
                            winuser = g.zhuanyi
                        if g.type == BGANG:
                            user_settles[winuser].gangScore += len(g.fighter)
                            for f in g.fighter:
                                user_settles[f].gangScore -= 1
                        if g.type == MGANG:
                            user_settles[winuser].gangScore += 2 * len(
                                g.fighter)
                            for f in g.fighter:
                                user_settles[f].gangScore -= 2
                        if g.type == AGANG:
                            user_settles[winuser].gangScore += 2 * len(
                                g.fighter)
                            for f in g.fighter:
                                user_settles[f].gangScore -= 2
        for sett in settle.userSettleResule:
            logging.info("userid")
            logging.info(sett.userId)
            logging.info("cardScore")
            logging.info(sett.cardScore)
            logging.info("gangScore")
            logging.info(sett.gangScore)
            logging.info("settlePatterns")
            logging.info(sett.settlePatterns)
        return settle
コード例 #9
0
ファイル: start.py プロジェクト: qianyc1020/phz
    def settle(self, request, context):
        """
        :结算
        :param request:
        :param context:
        :return:
        """
        settle = SettleResult()
        user_settles = {}
        users = {}
        cannothu_user = []
        for user in request.player:
            user_settle = settle.userSettleResule.add()
            user_settle.userId = user.player_id
            user_settles.setdefault(user.player_id, user_settle)
            users.setdefault(user.player_id, user)
            cannothu_user.append(user.player_id)

        if 1 == request.alloc_id:
            for user in request.player:
                for g in user.gang:
                    if g.type == BGANG:
                        user_settles[user.player_id].gangScore += len(
                            g.fighter)
                        for f in g.fighter:
                            user_settles[f].gangScore -= 1
                    if g.type == MGANG:
                        user_settles[user.player_id].gangScore += 3 * len(
                            g.fighter)
                        for f in g.fighter:
                            user_settles[f].gangScore -= 3
                    if g.type == AGANG:
                        user_settles[user.player_id].gangScore += 2 * len(
                            g.fighter)
                        for f in g.fighter:
                            user_settles[f].gangScore -= 2
            for hudata in request.hudata:
                if hudata.huUser in cannothu_user:
                    cannothu_user.remove(hudata.huUser)
                tempcard = list()
                tempcard.extend(users[hudata.huUser].handlist)
                tempcard.append(hudata.majong)
                cardtype = wanzhou_mahjong.getCardType(
                    tempcard, users[hudata.huUser].peng,
                    users[hudata.huUser].gang, request.rogue)
                score = wanzhou_mahjong.getScore(cardtype)
                if score < 48 and request.rogue != 0 and 21 in CardUtils.get_si(
                        tempcard):
                    cardtype = 25
                    score = 48
                for s in hudata.settle:
                    if s != 0:
                        if 1 == score:
                            score = 12
                        else:
                            score *= 2
                if 0 in hudata.settle and score == 1:
                    score += 1
                if score > request.fengding:
                    score = request.fengding

                user_settles[hudata.huUser].settlePatterns.append(cardtype)
                user_settles[hudata.huUser].settlePatterns.extend(
                    hudata.settle)
                for u in hudata.loseUsers:
                    if users[u].baojiao:
                        if 2 == score or 1 == score:
                            user_settles[u].cardScore -= 12
                            user_settles[hudata.huUser].cardScore += 12
                        else:
                            user_settles[u].cardScore -= score * 2
                            user_settles[hudata.huUser].cardScore += score * 2
                    else:
                        user_settles[u].cardScore -= score
                        user_settles[hudata.huUser].cardScore += score
            if request.peijiao:
                peijiao_users = list()
                user_score = {}
                if 1 < len(cannothu_user):
                    for c in cannothu_user:
                        hucards = MahjongUtils.get_hu(users[c].handlist,
                                                      request.rogue)
                        # 有叫
                        if 0 < len(hucards):
                            score = 0
                            for h in hucards:
                                tempcard = list()
                                tempcard.extend(users[c].handlist)
                                tempcard.append(h)
                                cardtype = wanzhou_mahjong.getCardType(
                                    tempcard, users[c].peng, users[c].gang,
                                    request.rogue)
                                cardscore = wanzhou_mahjong.getScore(cardtype)
                                if cardscore < 48 and request.rogue != 0 and 21 in CardUtils.get_si(
                                        tempcard):
                                    cardtype = 25
                                    cardscore = 48
                                if 1 == cardscore:
                                    cardscore = 12
                                else:
                                    cardscore *= 2
                                if cardscore > score:
                                    score = cardscore
                            if score > 0:
                                user_score.setdefault(c, score)
                        else:
                            peijiao_users.append(c)
                    if 0 < len(user_score) and 0 < len(peijiao_users):
                        for key, value in user_score.items():
                            for p in peijiao_users:
                                user_settles[p].cardScore -= value
                                user_settles[key].cardScore += value
        if 2 == request.alloc_id:
            for user in request.player:
                for g in user.gang:
                    if g.type == BGANG:
                        user_settles[user.player_id].gangScore += len(
                            g.fighter)
                        for f in g.fighter:
                            user_settles[f].gangScore -= 1
                    if g.type == MGANG:
                        user_settles[user.player_id].gangScore += 2 * len(
                            g.fighter)
                        for f in g.fighter:
                            user_settles[f].gangScore -= 2
                    if g.type == AGANG:
                        user_settles[user.player_id].gangScore += 2 * len(
                            g.fighter)
                        for f in g.fighter:
                            user_settles[f].gangScore -= 2
            for hudata in request.hudata:
                if hudata.huUser in cannothu_user:
                    cannothu_user.remove(hudata.huUser)
                tempcard = list()
                tempcard.extend(users[hudata.huUser].handlist)
                tempcard.append(hudata.majong)
                cardtype = wanzhou_mahjong.getCardType(
                    tempcard, users[hudata.huUser].peng,
                    users[hudata.huUser].gang, request.rogue)
                user_settles[hudata.huUser].settlePatterns.append(cardtype)
                score = wanzhou_mahjong.getScore(cardtype)
                for s in hudata.settle:
                    if s != 0:
                        if 1 == score:
                            score = 12
                        else:
                            score *= 2
                if 0 in hudata.settle and score == 1:
                    score += 1
                if score > request.fengding:
                    score = request.fengding
                for u in hudata.loseUsers:
                    if users[u].baojiao:
                        if 2 == score or 1 == score:
                            user_settles[u].cardScore -= 12
                            user_settles[hudata.huUser].cardScore += 12
                        else:
                            user_settles[u].cardScore -= score * 2
                            user_settles[hudata.huUser].cardScore += score * 2
                    else:
                        user_settles[u].cardScore -= score
                        user_settles[hudata.huUser].cardScore += score
            peijiao_users = list()
            user_score = {}
            if 4 == len(cannothu_user):
                for c in cannothu_user:
                    hucards = MahjongUtils.get_hu(users[c].handlist,
                                                  request.rogue)
                    # 有叫
                    if 0 < len(hucards):
                        score = 0
                        for h in hucards:
                            tempcard = list()
                            tempcard.extend(users[c].handlist)
                            tempcard.append(h)
                            cardtype = wanzhou_mahjong.getCardType(
                                tempcard, users[c].peng, users[c].gang,
                                request.rogue)
                            cardscore = wanzhou_mahjong.getScore(cardtype)
                            if cardscore > score:
                                score = cardscore
                            if score > request.fengding:
                                score = request.fengding
                        if score > 0:
                            user_score.setdefault(c, score)
                    else:
                        peijiao_users.append(c)
                if 0 < len(user_score) and 0 < len(peijiao_users):
                    for key, value in user_score.items():
                        for p in peijiao_users:
                            user_settles[p].cardScore -= value
                            user_settles[key].cardScore += value
        if 3 == request.alloc_id:
            for hudata in request.hudata:
                if hudata.huUser in cannothu_user:
                    cannothu_user.remove(hudata.huUser)
                tempcard = list()
                tempcard.extend(users[hudata.huUser].handlist)
                tempcard.append(hudata.majong)
                ct = rongchang_mahjong.getCardType(tempcard,
                                                   users[hudata.huUser].peng,
                                                   users[hudata.huUser].gang,
                                                   0, hudata.majong)
                ct.extend(hudata.settle)
                if 3 in ct and 10 in ct:
                    ct.remove(3)
                if 3 in ct and 7 in ct:
                    ct.remove(3)
                    ct.remove(7)
                    ct.append(10)
                if 0 == len(ct):
                    ct.append(0)
                user_settles[hudata.huUser].settlePatterns.extend(ct)
                score = rongchang_mahjong.getScore(ct)
                if 1 == score and 1 in ct:
                    score += 1
                for u in hudata.loseUsers:
                    if users[u].baojiao:
                        if 1 == score or 2 == score:
                            user_settles[u].cardScore -= score + 5
                            user_settles[hudata.huUser].cardScore += score + 5
                        else:
                            user_settles[u].cardScore -= score + 6
                            user_settles[hudata.huUser].cardScore += score + 6
                    else:
                        user_settles[u].cardScore -= score
                        user_settles[hudata.huUser].cardScore += score
                for user in request.player:
                    if user.player_id == hudata.huUser:
                        for g in user.gang:
                            if g.type == BGANG:
                                user_settles[user.player_id].gangScore += len(
                                    g.fighter)
                                for f in g.fighter:
                                    user_settles[f].gangScore -= 1
                            if g.type == MGANG:
                                user_settles[
                                    user.player_id].gangScore += 2 * len(
                                        g.fighter)
                                for f in g.fighter:
                                    user_settles[f].gangScore -= 2
                            if g.type == AGANG:
                                user_settles[
                                    user.player_id].gangScore += 3 * len(
                                        g.fighter)
                                for f in g.fighter:
                                    user_settles[f].gangScore -= 3
                        break
            peijiao_users = list()
            user_score = {}
            if 1 < len(cannothu_user):
                for c in cannothu_user:
                    hasCard = set()
                    for u in request.player:
                        if u.player_id != c:
                            hasCard = hasCard.union(u.handlist)
                            for g in u.gang:
                                if g.type == AGANG:
                                    hasCard.add(g.gangvalue)
                    hucards = set()
                    huTemp = MahjongUtils.get_hu(users[c].handlist,
                                                 request.rogue)
                    for h in huTemp:
                        if h in hasCard:
                            hucards.add(h)
                    # 有叫
                    if 0 < len(hucards):
                        score = 0
                        for h in hucards:
                            tempcard = list()
                            tempcard.extend(users[c].handlist)
                            tempcard.append(h)
                            cardtype = rongchang_mahjong.getCardType(
                                tempcard, users[c].peng, users[c].gang,
                                request.rogue, h)
                            if 0 == len(cardtype):
                                cardtype.append(0)
                            if 4 == MahjongUtils.containSize(
                                    tempcard, h) and 10 not in cardtype:
                                cardtype.append(3)
                            cardscore = rongchang_mahjong.getScore(cardtype)
                            if cardscore > score:
                                score = cardscore
                        if score > 0:
                            if users[c].baojiao:
                                if 1 == score:
                                    score = 6
                                else:
                                    score += 6
                            user_score.setdefault(c, score)
                        for user in request.player:
                            if user.player_id == c:
                                for g in user.gang:
                                    if g.type == BGANG:
                                        user_settles[
                                            user.player_id].gangScore += len(
                                                g.fighter)
                                        for f in g.fighter:
                                            user_settles[f].gangScore -= 1
                                    if g.type == MGANG:
                                        user_settles[
                                            user.
                                            player_id].gangScore += 2 * len(
                                                g.fighter)
                                        for f in g.fighter:
                                            user_settles[f].gangScore -= 2
                                    if g.type == AGANG:
                                        user_settles[
                                            user.
                                            player_id].gangScore += 3 * len(
                                                g.fighter)
                                        for f in g.fighter:
                                            user_settles[f].gangScore -= 3
                                break
                    else:
                        peijiao_users.append(c)
                if 0 < len(user_score) and 0 < len(peijiao_users):
                    for key, value in user_score.items():
                        for p in peijiao_users:
                            if users[p].baojiao:
                                user_settles[
                                    p].cardScore -= 6 if value == 1 else value + 6
                                user_settles[
                                    key].cardScore += 6 if value == 1 else value + 6
                            else:
                                user_settles[p].cardScore -= value
                                user_settles[key].cardScore += value
            else:
                for c in cannothu_user:
                    for user in request.player:
                        if user.player_id == c:
                            for g in user.gang:
                                if g.type == BGANG:
                                    user_settles[
                                        user.player_id].gangScore += len(
                                            g.fighter)
                                    for f in g.fighter:
                                        user_settles[f].gangScore -= 1
                                if g.type == MGANG:
                                    user_settles[
                                        user.player_id].gangScore += 2 * len(
                                            g.fighter)
                                    for f in g.fighter:
                                        user_settles[f].gangScore -= 2
                                if g.type == AGANG:
                                    user_settles[
                                        user.player_id].gangScore += 3 * len(
                                            g.fighter)
                                    for f in g.fighter:
                                        user_settles[f].gangScore -= 3
                            break
        for sett in settle.userSettleResule:
            logging.info("userid")
            logging.info(sett.userId)
            logging.info("cardScore")
            logging.info(sett.cardScore)
            logging.info("gangScore")
            logging.info(sett.gangScore)
            logging.info("settlePatterns")
            logging.info(sett.settlePatterns)
        return settle