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 player = this.state.players.get(sessionId);
let cardToRemove:Card[] = []; let cardToRemove:Card[] = [];
for (let id of cards) { for (let id of cards) {
let card = player.cards.get(id); let card = player.cards.get(id + '');
cardToRemove.push(card); cardToRemove.push(card);
} }
let newCards = gameUtil.changeCard(this.state.cardQueue, player, cardToRemove); 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) { execute({ client, cards } = this.payload) {
const player = this.state.players.get(client.sessionId); const player = this.state.players.get(client.sessionId);
if (!player) { if (!player) {
client.send('discard_card_s2c', {errcode: 1, errmsg: 'player不存在或者'}); client.send('discard_card_s2c', {errcode: 1, errmsg: 'player不存在'});
return; return;
} }
if (!gameUtil.checkCardsExists(player.cards, cards)) { if (!gameUtil.checkCardsExists(player.cards, cards)) {
@ -30,7 +30,7 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
} }
let tmpCards = []; let tmpCards = [];
for (let id of cards) { for (let id of cards) {
tmpCards.push(player.cards.get(id)); tmpCards.push(player.cards.get(id + ''));
} }
if (!gameUtil.checkDiscard(tmpCards)) { if (!gameUtil.checkDiscard(tmpCards)) {
client.send('discard_card_s2c', {errcode: 4, errmsg: '出牌不符合规则'}); 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(); this.state.cards.clear();
for (let id of cards) { for (let id of cards) {
this.state.cards.set(id, player.cards.get(id)); this.state.cards.set(id+'', player.cards.get(id + ''));
player.cards.delete(id); player.cards.delete(id + '');
player.cardSet.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: '不能吃自己的牌'}); client.send('eat_card_s2c', {errcode: 3, errmsg: '不能吃自己的牌'});
return; return;
} }
if (!this.state.cards.has(target)) { if (!this.state.cards.has(target + '')) {
client.send('eat_card_s2c', {errcode: 4, errmsg: '找不到要吃的牌'}); client.send('eat_card_s2c', {errcode: 4, errmsg: '找不到要吃的牌'});
return; return;
} }
let tmpCards = []; let tmpCards = [];
for (let id of cards) { 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)) { if (!gameUtil.checkDiscard(tmpCards)) {
client.send('discard_card_s2c', {errcode: 5, errmsg: '不符合吃牌规则'}); client.send('discard_card_s2c', {errcode: 5, errmsg: '不符合吃牌规则'});
return; return;
@ -40,9 +40,9 @@ export class EatCardCommand extends Command<CardGameState, { client: Client, car
return; return;
} }
for (let id of cards) { for (let id of cards) {
this.state.cards.set(id, player.cards.get(id)); this.state.cards.set(id+'', player.cards.get(id + ''));
player.cards.delete(id); player.cards.delete(id + '');
player.cardSet.delete(id); player.cardSet.delete(id+'');
} }
this.state.gameState = GameStateConst.STATE_PICK_PET; this.state.gameState = GameStateConst.STATE_PICK_PET;
// 成功后广播吃牌成功消息 // 成功后广播吃牌成功消息

View File

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

View File

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