player增加cardQueue用于记录上一手牌

This commit is contained in:
zhl 2020-12-21 19:38:54 +08:00
parent 29d1cd73d3
commit e8ddc4112f
4 changed files with 14 additions and 5 deletions

View File

@ -53,9 +53,9 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
let newCount = player.extraTime - Math.min(count, 0);
player.extraTime = Math.max(newCount, 0);
}
let tmpCard = player.cards.get(cards[0] + '');
for (let id of cards) {
this.state.cards.set(id+'', player.cards.get(id + ''));
player.cardQueue.push(player.cards.get(id + ''));
player.cards.delete(id + '');
player.cardSet.delete(id + '');
}

View File

@ -69,11 +69,13 @@ export class EatConfirmCommand extends Command<CardGameState, { timeUp: boolean
debugRoom(`真的开始吃牌了: ${player.id}, 场上牌: ${this.state.cards.size}, isFirst: ${isFirst}, timeUp: ${timeUp}`);
// 如果有吃牌计时的话,停止吃牌计时
this.room.stopSchedule('eat_round');
// if (this.room.mainClock?.active) {
// this.room.mainClock.clear();
// }
let currentPlayer = this.state.players.get(this.state.currentTurn);
currentPlayer.cardQueue.clear();
player.cardQueue.clear();
player.cardQueue.push(this.state.cards.values().next().value);
for (let id of cards) {
this.state.cards.set(id + '', player.cards.get(id + ''));
player.cardQueue.push(player.cards.get(id + ''));
player.cards.delete(id + '');
player.cardSet.delete(id + '');
}

View File

@ -35,6 +35,7 @@ export class NextTurnCommand extends Command<CardGameState, {}> {
? sessionIds[(sessionIds.indexOf(this.state.currentTurn) + 1) % sessionIds.length]
: sessionIds[0]);
let player = this.state.players.get(this.state.currentTurn);
player.cardQueue.clear();
if (!player) {
error('未找到玩家');
}

View File

@ -1,4 +1,4 @@
import {filter, MapSchema, Schema, SetSchema, type} from "@colyseus/schema";
import {ArraySchema, filter, MapSchema, Schema, SetSchema, type} from "@colyseus/schema";
import {Pet} from "./Pet";
import {Card} from "./Card";
import {GameEnv} from "../../cfg/GameEnv";
@ -22,6 +22,12 @@ export class Player extends Schema {
@type({ set: "string" })
cardSet = new SetSchema<string>();
/**
*
*/
@type([Card])
cardQueue = new ArraySchema<Card>();
/**
* hp
*/