MoveRevealedCardsToHand() private method

private MoveRevealedCardsToHand ( CardPredicate acceptableCard ) : void
acceptableCard CardPredicate
return void
Beispiel #1
0
        public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
        {
            Card namedCard = currentPlayer.RequestPlayerNameACard(gameState);

            int cardFoundCount = 0;
            while(true)
            {
                Card revealedCard = currentPlayer.DrawAndRevealOneCardFromDeck(gameState);
                if (revealedCard == null)
                    break;
                if (revealedCard == namedCard)
                    continue;
                cardFoundCount++;
                if (cardFoundCount >= 3)
                    break;
            }

            currentPlayer.MoveRevealedCardsToHand(card => card != namedCard);
            currentPlayer.MoveRevealedCardsToDiscard(gameState);
        }
Beispiel #2
0
 public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
 {
     currentPlayer.RevealCardsFromDeck(4, gameState);
     currentPlayer.MoveRevealedCardsToHand(card => card == Copper.card || card == Potion.card);
     currentPlayer.RequestPlayerTopDeckRevealedCardsInAnyOrder(gameState);
 }
Beispiel #3
0
 public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
 {
     currentPlayer.RevealCardsFromDeck(4);
     currentPlayer.MoveRevealedCardsToHand(card => card.isVictory);
     currentPlayer.RequestPlayerTopDeckRevealedCardsInAnyOrder(gameState);
 }