修改机器人的吃牌逻辑
This commit is contained in:
parent
58f5e92e6c
commit
4b684bb524
@ -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[] = [];
|
||||
|
@ -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[] = [];
|
||||
|
@ -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[] = [];
|
||||
// 优先出对子
|
||||
|
Loading…
x
Reference in New Issue
Block a user