Merge branch 'second' of http://git.kingsome.cn/node/card_svr into second
This commit is contained in:
commit
58c4dc19dd
@ -35,7 +35,7 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
|
|||||||
error(`${player.id} 的手牌 ${id} 数据有问题`);
|
error(`${player.id} 的手牌 ${id} 数据有问题`);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
tmpCards.push(player.cards.get(id + ''));
|
tmpCards.push(player.cards.get(id + '').clone());
|
||||||
} else {
|
} else {
|
||||||
error(`${player.id} 出的牌 ${id} 在手牌中不存在`)
|
error(`${player.id} 出的牌 ${id} 在手牌中不存在`)
|
||||||
this.room.send(client,'discard_card_s2c', {errcode: 2, errmsg: `要出的牌 ${id} 在手牌中不存在`});
|
this.room.send(client,'discard_card_s2c', {errcode: 2, errmsg: `要出的牌 ${id} 在手牌中不存在`});
|
||||||
|
@ -72,13 +72,14 @@ export class EatConfirmCommand extends Command<CardGameState, { timeUp: boolean
|
|||||||
let currentPlayer = this.state.players.get(this.state.currentTurn);
|
let currentPlayer = this.state.players.get(this.state.currentTurn);
|
||||||
currentPlayer.cardQueue.clear();
|
currentPlayer.cardQueue.clear();
|
||||||
player.cardQueue.clear();
|
player.cardQueue.clear();
|
||||||
player.cardQueue.push(this.state.cards.values().next().value);
|
player.cardQueue.push(this.state.cards.values().next().value.clone());
|
||||||
for (let id of cards) {
|
for (let id of cards) {
|
||||||
if (!player.cards.has(id + '')) {
|
if (!player.cards.has(id + '')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
this.state.cards.set(id + '', player.cards.get(id + ''));
|
let card = player.cards.get(id + '').clone();
|
||||||
player.cardQueue.push(player.cards.get(id + ''));
|
this.state.cards.set(id + '', card);
|
||||||
|
player.cardQueue.push(card);
|
||||||
player.cards.delete(id + '');
|
player.cards.delete(id + '');
|
||||||
player.cardSet.delete(id + '');
|
player.cardSet.delete(id + '');
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ export class OnJoinCommand extends Command<CardGameState, {
|
|||||||
client: Client
|
client: Client
|
||||||
}> {
|
}> {
|
||||||
execute({client} = this.payload) {
|
execute({client} = this.payload) {
|
||||||
let team = this.state.players.size / 2 | 0;
|
let team = (this.state.players.size == 1 || this.state.players.size == 2)? 1 : 0;
|
||||||
// 实际的team会在PlayReadyCommand中设置
|
// 实际的team会在PlayReadyCommand中设置
|
||||||
let player = new Player(client.sessionId, 0, team);
|
let player = new Player(client.sessionId, 0, team);
|
||||||
this.state.players.set(client.sessionId, player);
|
this.state.players.set(client.sessionId, player);
|
||||||
|
@ -32,7 +32,8 @@ export class PlayReadyCommand extends Command<CardGameState, {
|
|||||||
// return [new PrepareCommand()];
|
// return [new PrepareCommand()];
|
||||||
let i = 0;
|
let i = 0;
|
||||||
for (let [,player] of this.state.players) {
|
for (let [,player] of this.state.players) {
|
||||||
player.team = (i ++ / 2) | 0;
|
player.team = (i == 1 || i == 2) ? 1 : 0;
|
||||||
|
i += 1;
|
||||||
}
|
}
|
||||||
await this.room.setPrivate(true);
|
await this.room.setPrivate(true);
|
||||||
this.room.state.updateGameState(GameStateConst.CHANGE_HERO);
|
this.room.state.updateGameState(GameStateConst.CHANGE_HERO);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user