修改机器人的吃牌逻辑

This commit is contained in:
zhl 2021-02-20 14:51:39 +08:00
parent 58f5e92e6c
commit 4b684bb524
3 changed files with 12 additions and 3 deletions

View File

@ -165,7 +165,7 @@ export class Robot {
let self = this;
let cardArr = [...self.player.cards.values()];
let cards = assistantUtil.checkTriple(cardArr, targetCard);
if (!cards) {
if (!cards || cards.length == 0) {
return;
}
let cardIds: number[] = [];

View File

@ -142,7 +142,7 @@ export class RobotClient implements Client {
let self = this;
let cardArr = [...self.selfPlayer.cards.values()];
let cards = assistantUtil.checkTriple(cardArr, targetCard);
if (!cards) {
if (!cards || cards.length == 0) {
return;
}
let cardIds: number[] = [];

View File

@ -21,7 +21,6 @@ let assistantUtil = {
* @param card
*/
checkTriple(cardArr: Card[], card?: Card): Card[] {
if (card) cardArr.push(card);
let maxCount = card ? new GameEnv().otherEatCount : new GameEnv().selfEatCount;
let pointMap: Map<number, Card[]> = new Map();
let cardIdSet: Set<number> = new Set();
@ -38,6 +37,16 @@ let assistantUtil = {
}
cardIdSet.add(c.number);
}
if (card && (card.type == CardType.general || card.type == CardType.variable_unit)) {
if (pointMap.has(card.number)) {
let arr = pointMap.get(card.number);
arr.push(card);
pointMap.set(card.number, arr);
} else {
pointMap.set(card.number, [card]);
}
cardIdSet.add(card.number);
}
let fetched = false;
let result: Card[] = [];
// 优先出对子