static void FindOptimalPlayForEachCardWithBigMoney() { var bigMoneyPlayer = "BigMoney"; foreach (var member in typeof(Cards).GetMembers(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public)) { if (member.MemberType == System.Reflection.MemberTypes.Field) { Card card = (Card)(typeof(Cards).GetField(member.Name).GetValue(null)); if (!GameConfigBuilder.IsKingdomCard(card)) { continue; } if (notImplementedCards.Contains(card)) { continue; } var playerAction = StrategyOptimizer.FindBestBigMoneyWithCardVsStrategy("BigMoney", card); // Strategies.BigMoneyWithCard.Player(card, "BigMoney<" + card.name + ">"); ComparePlayers(playerAction, bigMoneyPlayer, numberOfGames: 1000, shouldParallel: true, createHtmlReport: true, logGameCount: 0); } } }
static PlayerAction[] AllBigMoneyWithCard() { var result = new List <PlayerAction>(); foreach (var member in typeof(Cards).GetMembers(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public)) { if (member.MemberType == System.Reflection.MemberTypes.Field) { Card card = (Card)(typeof(Cards).GetField(member.Name).GetValue(null)); if (!GameConfigBuilder.IsKingdomCard(card)) { continue; } if (notImplementedCards.Contains(card)) { continue; } var playerAction = Strategies.BigMoneyWithCard.Player(card); result.Add(playerAction); } } return(result.ToArray()); }
static PlayerAction[] AllBigMoneyWithCard() { var result = new List <PlayerAction>(); foreach (var member in typeof(Cards).GetMembers(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public)) { if (member.MemberType == System.Reflection.MemberTypes.Field) { object potentialCard = typeof(Cards).GetField(member.Name).GetValue(null); Card card = potentialCard as Card; if (card == null) { continue; } if (!GameConfigBuilder.IsKingdomCard(card)) { continue; } if (Dominion.Cards.UnimplementedCards.Contains(card)) { continue; } if (Dominion.Strategy.MissingDefaults.CardsWithoutDefaultBehaviors.Contains(card)) { continue; } var playerAction = Strategies.BigMoneyWithCard.Player(card); result.Add(playerAction); } } return(result.ToArray()); }