Ejemplo n.º 1
0
 public static ICardPicker DefaultTrashOrder(ICardPicker purchaseOrder)
 {
     return(new CardPickByPriority(
                CardAcceptance.For(Cards.Curse),
                CardAcceptance.For(Cards.RuinedVillage),
                CardAcceptance.For(Cards.RuinedMarket),
                CardAcceptance.For(Cards.Survivors),
                CardAcceptance.For(Cards.RuinedLibrary),
                CardAcceptance.For(Cards.AbandonedMine),
                CardAcceptance.For(Cards.Estate, gameState => !purchaseOrder.DoesCardPickerMatch(gameState, Cards.Estate)),
                CardAcceptance.For(Cards.OvergrownEstate),
                CardAcceptance.For(Cards.Hovel),
                CardAcceptance.For(Cards.Copper, gameState => !purchaseOrder.DoesCardPickerMatch(gameState, Cards.Copper))));
 }
Ejemplo n.º 2
0
        public static int CountInSetMatching(this ICardPicker pickOrder, GameState gameState, CollectionCards collectionCards)
        {
            int result = 0;

            foreach (var cardType in collectionCards.AllTypes)
            {
                if (pickOrder.DoesCardPickerMatch(gameState, cardType))
                {
                    result += collectionCards.CountOf(cardType);
                }
            }

            return(result);
        }