本文整理汇总了C#中Dominion.Card.Where方法的典型用法代码示例。如果您正苦于以下问题:C# Card.Where方法的具体用法?C# Card.Where怎么用?C# Card.Where使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dominion.Card
的用法示例。
在下文中一共展示了Card.Where方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildPurchaseOrder
private static void BuildPurchaseOrder(ParameterBuilderAndRetreiver builder, Card[] cards)
{
var purchaseAcceptances = new List<CardAcceptanceDescription>();
// do the end game
purchaseAcceptances.Add(new CardAcceptanceDescription(Cards.Province, CountSource.CountAllOwned, Cards.Gold, Comparison.GreaterThan, builder.Next(defaultValue:2, defaultLowerBound:0)));
purchaseAcceptances.Add(new CardAcceptanceDescription(Cards.Duchy, CountSource.CountOfPile, Cards.Province, Comparison.LessThanEqual, builder.Next(defaultValue: 3, defaultLowerBound: 0)));
purchaseAcceptances.Add(new CardAcceptanceDescription(Cards.Estate, CountSource.CountOfPile, Cards.Province, Comparison.LessThanEqual, builder.Next(defaultValue: 1, defaultLowerBound: 0)));
// add cards costing more than gold
foreach (Card card in cards.Where(c => c.DefaultCoinCost >= Cards.Gold.DefaultCoinCost).OrderBy(c => c.DefaultCoinCost))
{
purchaseAcceptances.Add(new CardAcceptanceDescription(card, CountSource.CountAllOwned, card, Comparison.LessThanEqual, builder.Next(defaultValue: 0, defaultLowerBound: 0)));
}
purchaseAcceptances.Add(new CardAcceptanceDescription(Cards.Gold));
// add cards costing more than potion and less than gold
foreach (Card card in cards.Where(c => c.DefaultCoinCost >= Cards.Potion.DefaultCoinCost && c.DefaultCoinCost < Cards.Gold.DefaultCoinCost).OrderBy(c => c.DefaultCoinCost))
{
purchaseAcceptances.Add(new CardAcceptanceDescription(card, CountSource.CountAllOwned, card, Comparison.LessThanEqual, builder.Next(defaultValue: 0, defaultLowerBound: 0)));
}
if (cards.Where(card => card.potionCost != 0).Any())
{
purchaseAcceptances.Add(new CardAcceptanceDescription(Cards.Potion, CountSource.CountAllOwned, Cards.Potion, Comparison.LessThanEqual, builder.Next(defaultValue: 1, defaultLowerBound: 0)));
}
// add cards costing mor than silver
foreach (Card card in cards.Where(c => c.DefaultCoinCost >= Cards.Silver.DefaultCoinCost && c.DefaultCoinCost < Cards.Potion.DefaultCoinCost).OrderBy(c => c.DefaultCoinCost))
{
purchaseAcceptances.Add(new CardAcceptanceDescription(card, CountSource.CountAllOwned, card, Comparison.LessThanEqual, builder.Next(defaultValue: 0, defaultLowerBound: 0)));
}
purchaseAcceptances.Add(new CardAcceptanceDescription(Cards.Silver));
// cards costing less than silver
foreach (Card card in cards.Where(c => c.DefaultCoinCost < Cards.Silver.DefaultCoinCost).OrderBy(c => c.DefaultCoinCost))
{
purchaseAcceptances.Add(new CardAcceptanceDescription(card, CountSource.CountAllOwned, card, Comparison.LessThanEqual, builder.Next(defaultValue: 0, defaultLowerBound: 0)));
}
builder.description = new PickByPriorityDescription(purchaseAcceptances.ToArray());
}