Esempio n. 1
0
        private bool CheckForGameEnd()
        {
            bool gameEnd = false;
            if (VictoryCardKingdomDecks.Any(d => d.IsDepleted && d.EndGameOnDepletion))
            {
                gameEnd = true;
            }

            int depletedDecks = VictoryCardKingdomDecks.Count(d => d.IsDepleted);
            depletedDecks += SessionKingdomDecks.Count(d => d.IsDepleted);
            depletedDecks += TreasureCardKingdomDecks.Count(d => d.IsDepleted);

            return gameEnd || depletedDecks > 2;
        }
Esempio n. 2
0
 public Card BuyKingdomCard(Type cardType)
 {
     Card card = null;
     if (VictoryCardKingdomDecks.Any(d => d.CardInDeck.GetType() == cardType))
     {
         var deck = VictoryCardKingdomDecks.Where(d => d.CardInDeck.GetType() == cardType).FirstOrDefault();
         if (deck.Peek() != null)
             card = deck.Pop();
     }
     else if (SessionKingdomDecks.Any(d => d.CardInDeck.GetType() == cardType))
     {
         var deck = SessionKingdomDecks.Where(d => d.CardInDeck.GetType() == cardType).FirstOrDefault();
         if (deck.Peek() != null)
             card = deck.Pop();
     }
     else if (TreasureCardKingdomDecks.Any(d => d.CardInDeck.GetType() == cardType))
     {
         var deck = TreasureCardKingdomDecks.Where(d => d.CardInDeck.GetType() == cardType).FirstOrDefault();
         if (deck.Peek() != null)
             card = deck.Pop();
     }
     return card;
 }