For() public static method

public static For ( Dominion.Card card ) : CardAcceptance
card Dominion.Card
return CardAcceptance
示例#1
0
 public static CardPickByPriority DefaultTreasurePlayOrder()
 {
     return(new CardPickByPriority(
                CardAcceptance.For(Cards.Contraband), // play early to provide opponent as little information when banning
                // base set first
                CardAcceptance.For(Cards.Platinum),
                CardAcceptance.For(Cards.Gold),
                CardAcceptance.For(Cards.Silver),
                CardAcceptance.For(Cards.Copper),
                CardAcceptance.For(Cards.Spoils),
                CardAcceptance.For(Cards.Potion),
                // alphabetical, all other treasures that dont really depend on order
                CardAcceptance.For(Cards.Cache),
                CardAcceptance.For(Cards.TreasureTrove),
                CardAcceptance.For(Cards.FoolsGold),
                CardAcceptance.For(Cards.Loan),
                CardAcceptance.For(Cards.Harem),
                CardAcceptance.For(Cards.Hoard),
                CardAcceptance.For(Cards.Masterpiece),
                CardAcceptance.For(Cards.PhilosophersStone),
                CardAcceptance.For(Cards.Quarry),
                CardAcceptance.For(Cards.RoyalSeal),
                CardAcceptance.For(Cards.Stash),
                CardAcceptance.For(Cards.Talisman),
                // cards whose benefit is sensitive to ordering
                CardAcceptance.For(Cards.Venture),        // playing this card might increase the number of treasures played
                CardAcceptance.For(Cards.CounterFeit),    // after venture so that you have more variety to counterfeit
                CardAcceptance.For(Cards.IllGottenGains), // by playing after venture, you have more information about whether to gain the copper
                CardAcceptance.For(Cards.HornOfPlenty),   // play relatively last so it has the most variety of cards to trigger with
                CardAcceptance.For(Cards.Bank)));         // try to make bank as valuable as possibile.
 }
示例#2
0
 public static CardPickByPriority DefaultDiscardOrder()
 {
     return(new CardPickByPriority(
                CardAcceptance.For(Cards.Province),
                CardAcceptance.For(Cards.Duchy),
                CardAcceptance.For(Cards.Estate),
                CardAcceptance.For(Cards.OvergrownEstate),
                CardAcceptance.For(Cards.Hovel),
                CardAcceptance.For(Cards.Ruins),
                CardAcceptance.For(Cards.Curse),
                CardAcceptance.For(Cards.Copper)));
 }
示例#3
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))));
 }
        public static CardAcceptance For(Card card, CountSource countSource, Comparison comparison, int threshhold, GameStatePredicate match)
        {
            MatchDescription descr = new MatchDescription(card, countSource, comparison, threshhold);

            return(CardAcceptance.For(card, gameState => descr.GameStatePredicate(gameState) && match(gameState)));
        }