Beispiel #1
0
        public static async Task tryMix(THHGame game, Card card)
        {
            THHPlayer player       = card.getOwner();
            var       mixableCards = player.hand.Where(c => getMixCards(game, card.define, c.define).Length > 0).ToArray();//检查手牌中有没有可以融合的牌

            if (mixableCards.Length > 0)
            {
                var mixCard = await player.discover(game, mixableCards, -1, "选择一张卡片进行元素融合");

                var mixedResults = getMixCards(game, card.define, mixCard.define).Select(define => game.createCard(define)).ToArray();
                var mixedResult  = await player.discover(game, mixedResults, -1, "选择一张融合元素法术加入你的手牌");

                await player.discard(game, mixCard);

                await player.tryAddCardToHand(game, mixedResult);
            }
        }