示例#1
0
        public bool Contains(Card card, int numberOfCards)
        {
            var cards = TreasureSupply.Select(x => x.Cards)
                        .Concat(VictorySupply.Select(x => x.Cards))
                        .Concat(KingdomSupply.Select(x => x.Cards));

            return(cards.Select(x => x.FirstOrDefault())
                   .Count(x => x == card) >= numberOfCards);
        }
示例#2
0
        //TODO: needs to be modified
        //TODO: implement ruins pile
        public bool Contains(Card card)
        {
            var cards = TreasureSupply.Select(x => x.Cards)
                        .Concat(VictorySupply.Select(x => x.Cards))
                        .Concat(KingdomSupply.Select(x => x.Cards));

            return(cards.Select(x => x.FirstOrDefault())
                   .Contains(card));
        }
示例#3
0
        public bool CardIsVisible(Card card)
        {
//            var cards = TreasureSupply.Select(x => x.Cards.Last())
//                .Concat(VictorySupply.Select(x => x.Cards.Last()))
//                .Concat(KingdomSupply.Select(x => x.Cards.Last()));

            var cards = TreasureSupply.Concat(VictorySupply).Concat(KingdomSupply)
                        .Where(pile => pile.Cards.Count > 0)
                        .Select(pile => pile.Cards.Last());

            return(cards.Contains(card));
        }
示例#4
0
        public int EmptyPileCount()
        {
            var count = TreasureSupply.Count(pile => pile.Cards.Count == 0)
                        + VictorySupply.Count(pile => pile.Cards.Count == 0)
                        + KingdomSupply.Count(pile => pile.Cards.Count == 0);

            if (RuinsPile != null)
            {
                count += +RuinsPile.Cards.Count == 0 ? 1 : 0;
            }

            return(count);
        }