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); }
//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)); }
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)); }
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); }