card id改为number后, 修改对应的方法

This commit is contained in:
zhl 2020-12-02 20:34:14 +08:00
parent 1e49ef6def
commit 576f22786a
5 changed files with 24 additions and 23 deletions

View File

@ -22,7 +22,7 @@ export class ChangeCardCommand extends Command<CardGameState, { client: Client,
let player = this.state.players.get(sessionId);
let cardToRemove:Card[] = [];
for (let id of cards) {
let card = player.cards.get(id);
let card = player.cards.get(id + '');
cardToRemove.push(card);
}
let newCards = gameUtil.changeCard(this.state.cardQueue, player, cardToRemove);

View File

@ -17,7 +17,7 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
execute({ client, cards } = this.payload) {
const player = this.state.players.get(client.sessionId);
if (!player) {
client.send('discard_card_s2c', {errcode: 1, errmsg: 'player不存在或者'});
client.send('discard_card_s2c', {errcode: 1, errmsg: 'player不存在'});
return;
}
if (!gameUtil.checkCardsExists(player.cards, cards)) {
@ -30,7 +30,7 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
}
let tmpCards = [];
for (let id of cards) {
tmpCards.push(player.cards.get(id));
tmpCards.push(player.cards.get(id + ''));
}
if (!gameUtil.checkDiscard(tmpCards)) {
client.send('discard_card_s2c', {errcode: 4, errmsg: '出牌不符合规则'});
@ -38,9 +38,9 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
}
this.state.cards.clear();
for (let id of cards) {
this.state.cards.set(id, player.cards.get(id));
player.cards.delete(id);
player.cardSet.delete(id);
this.state.cards.set(id+'', player.cards.get(id + ''));
player.cards.delete(id + '');
player.cardSet.delete(id + '');
}
/**
* ,

View File

@ -22,15 +22,15 @@ export class EatCardCommand extends Command<CardGameState, { client: Client, car
client.send('eat_card_s2c', {errcode: 3, errmsg: '不能吃自己的牌'});
return;
}
if (!this.state.cards.has(target)) {
if (!this.state.cards.has(target + '')) {
client.send('eat_card_s2c', {errcode: 4, errmsg: '找不到要吃的牌'});
return;
}
let tmpCards = [];
for (let id of cards) {
tmpCards.push(player.cards.get(id));
tmpCards.push(player.cards.get(id + ''));
}
tmpCards.push(this.state.cards.get(target));
tmpCards.push(this.state.cards.get(target + ''));
if (!gameUtil.checkDiscard(tmpCards)) {
client.send('discard_card_s2c', {errcode: 5, errmsg: '不符合吃牌规则'});
return;
@ -40,9 +40,9 @@ export class EatCardCommand extends Command<CardGameState, { client: Client, car
return;
}
for (let id of cards) {
this.state.cards.set(id, player.cards.get(id));
player.cards.delete(id);
player.cardSet.delete(id);
this.state.cards.set(id+'', player.cards.get(id + ''));
player.cards.delete(id + '');
player.cardSet.delete(id+'');
}
this.state.gameState = GameStateConst.STATE_PICK_PET;
// 成功后广播吃牌成功消息

View File

@ -12,6 +12,7 @@ export class BattleHandler {
public init(cs: CardGameState){
this._cs = cs;
this._players = [];
};
public addPlayer(aplayer: Player){
@ -50,10 +51,10 @@ export class BattleHandler {
return false;
}
if(cfg.typeId == EffectCardType.NPC){
if(cfg.typeId == EffectCardType.NPC){
}else if(cfg.typeId == EffectCardType.MAGIC){
}
};
}
}

View File

@ -24,7 +24,7 @@ let gameUtil = {
}
arrUtil.randomSort(types);
for (let i = 0; i < nums.length; i++) {
cards.push(new Card(nums[i] + 1, types[i] + '', i + ''));
cards.push(new Card(nums[i] + 1, types[i] + '', i));
}
arrUtil.randomSort(cards);
return cards;
@ -37,7 +37,7 @@ let gameUtil = {
checkCardsExists(cardMap: Map<string, Card>, cardIds: Array<string>) {
let result = true;
for (let id of cardIds) {
if (!cardMap.has(id)) {
if (!cardMap.has(id + '')) {
result = false;
break;
}
@ -55,8 +55,8 @@ let gameUtil = {
for (let i = 0; i < count; i++) {
let card = cardArr.pop();
cards.push(card);
player.cards.set(card.id, card);
player.cardSet.add(card.id);
player.cards.set(card.id + '', card);
player.cardSet.add(card.id + '');
}
return cards;
},
@ -69,16 +69,16 @@ let gameUtil = {
changeCard(cardArr: Card[], player: Player, targetCards: Card[]): Card[] {
let cards: Card[] = [];
for (let card of targetCards) {
player.cards.delete(card.id);
player.cardSet.delete(card.id);
player.cards.delete(card.id + '');
player.cardSet.delete(card.id + '');
}
arrUtil.randomInsert(cardArr, targetCards);
let count = targetCards.length;
for (let i = 0; i < count; i++) {
let card = cardArr.pop();
cards.push(card);
player.cards.set(card.id, card);
player.cardSet.add(card.id);
player.cards.set(card.id + '', card);
player.cardSet.add(card.id + '');
}
return cards;
},