From 36bbf13410d3b89195cb3b67c0c94e294bcd2cc8 Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 28 Jan 2021 21:55:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E7=AE=A1=E6=98=AF=E6=9C=BA=E5=99=A8?= =?UTF-8?q?=E4=BA=BA=E8=BF=98=E6=98=AF=E7=8E=A9=E5=AE=B6,=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E9=83=BD=E4=BB=8E=E6=9C=8D=E5=8A=A1=E5=99=A8=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/WebApi.ts | 4 +-- src/robot/Robot.ts | 36 +++++++++++------------ src/robot/RobotClient.ts | 2 +- src/rooms/commands/OnJoinCommand.ts | 45 +++++++++++++---------------- 4 files changed, 41 insertions(+), 46 deletions(-) diff --git a/src/common/WebApi.ts b/src/common/WebApi.ts index d2e9e63..54e2d8f 100644 --- a/src/common/WebApi.ts +++ b/src/common/WebApi.ts @@ -35,8 +35,8 @@ export function getUserInfo(accountid: string) { }) } -export function randomUserInfo(min: number, max: number) { - const data = {min, max} +export function randomUserInfo(min: number, max: number, accounts: string[]) { + const data = {min, max, accounts} return axios.post(`${ config.info_svr }/randomrobot`, data) .then(function (response) { let res = response.data diff --git a/src/robot/Robot.ts b/src/robot/Robot.ts index 237fbe4..6109870 100644 --- a/src/robot/Robot.ts +++ b/src/robot/Robot.ts @@ -160,12 +160,12 @@ export class Robot { private async discard() { let self = this; let cardArr = [...self.player.cards.values()]; - // let cards = assistantUtil.checkTriple(cardArr); - // if (!cards) { - // return; - // } - // let cardIds = cards.map(o => o.id); - let cardIds = [cardArr[0].id] + let cards = assistantUtil.checkTriple(cardArr); + if (!cards) { + return; + } + let cardIds = cards.map(o => o.id); + // let cardIds = [cardArr[0].id] log(`discard: ${self.sessionId} ${cardIds}`); self.reply('discard_card_c2s', { cards: cardIds @@ -178,19 +178,19 @@ export class Robot { */ @wait('maxEatTime') private async eatOrGiveUp() { - // let targetCard = [...this.room.state.cards.values()][0]; - // let cardArr = [...this.player.cards.values()]; - // let tmpCards = assistantUtil.checkTriple(cardArr, targetCard); + let targetCard = [...this.room.state.cards.values()][0]; + let cardArr = [...this.player.cards.values()]; + let tmpCards = assistantUtil.checkTriple(cardArr, targetCard); let next = this.giveup.bind(this); - // if (tmpCards.length > 1 && targetCard.type === 1) { - // let cardIds: number[] = []; - // for (let card of tmpCards) { - // if (card.id !== targetCard.id) { - // cardIds.push(card.id); - // } - // } - // next = this.eatCard.bind(this, cardIds, targetCard.id); - // } + if (tmpCards.length > 1 && targetCard.type === 1) { + let cardIds: number[] = []; + for (let card of tmpCards) { + if (card.id !== targetCard.id) { + cardIds.push(card.id); + } + } + next = this.eatCard.bind(this, cardIds, targetCard.id); + } next.apply(this); } diff --git a/src/robot/RobotClient.ts b/src/robot/RobotClient.ts index bda767b..78f7a7b 100644 --- a/src/robot/RobotClient.ts +++ b/src/robot/RobotClient.ts @@ -39,7 +39,7 @@ export class RobotClient implements Client { this.onMessageHandlers = onMessageHandlers; this.addListeners(); - log(`new robot with session: ${sessionId}`); + log(`new assist with session: ${sessionId}`); } addListeners() { this.listenerState = this.svrstate.listen('gameState', this.gameSateUpdate.bind(this)); diff --git a/src/rooms/commands/OnJoinCommand.ts b/src/rooms/commands/OnJoinCommand.ts index bcaabd2..8538185 100644 --- a/src/rooms/commands/OnJoinCommand.ts +++ b/src/rooms/commands/OnJoinCommand.ts @@ -23,27 +23,13 @@ export class OnJoinCommand extends Command