private static void Main(string[] args) { Console.WriteLine("Setup gameConfig"); //todo: rename to Main GameConfig gameConfig = new GameConfig { StartPlayer = 1, Player1HeroClass = CardClass.MAGE, Player2HeroClass = CardClass.MAGE, FillDecks = true, Logging = false }; Console.WriteLine("Setup POGameHandler"); AbstractAgent player1 = new FaceHunter(); AbstractAgent player2 = new FaceHunter(); var gameHandler = new POGameHandler(gameConfig, player1, player2, debug: true); Console.WriteLine("PlayGame"); //gameHandler.PlayGame(); gameHandler.PlayGames(10); GameStats gameStats = gameHandler.getGameStats(); gameStats.printResults(); Console.WriteLine("Test successful"); Console.ReadLine(); }
private static void Main(string[] args) { Console.WriteLine("Setup gameConfig"); //todo: rename to Main GameConfig gameConfig = new GameConfig { StartPlayer = 1, Logging = true }; gameConfig.Player1Name = "Sky"; gameConfig.Player2Name = "Net"; gameConfig.Player1Deck = Decks.RenoKazakusMage; //My Deck Dictionary <string, List <Card> > decksAvailable = new Dictionary <string, List <Card> >(); //set opponents decks. decksAvailable.Add("AggroPirateWarrior", Decks.AggroPirateWarrior); //AggroPirateWarrior decksAvailable.Add("MidrangeJadeShaman", Decks.MidrangeJadeShaman); //MidrangeJadeShaman decksAvailable.Add("RenoKazakusMage", Decks.RenoKazakusMage); //RenoKazakusMage Console.WriteLine("Setup POGameHandler"); AbstractAgent player1 = new src.Agent.MyAgent(); AbstractAgent player2; Console.WriteLine("Start Games "); Console.WriteLine("=== MyAgent vs Random Agent=== "); player2 = new RandomAgent(); //play all games against the Random Agent Helper.SimulateAllGames(gameConfig, player1, player2, decksAvailable); Console.WriteLine("=== MyAgent vs RandomLateEnd Agent ==="); /* i achieve around >80 % on one occasions against AggroPirate * with this agent and >90% in others, but it was not announced, * until 25 june that i had to compete against this as well, * so i didn' try to make something better and sophisticated, cause * no time. */ //play all games against the RandomLateEnd Agent, player2 = new RandomAgentLateEnd(); Helper.SimulateAllGames(gameConfig, player1, player2, decksAvailable); Console.WriteLine("=== My Agent vs FaceHunter Agent ==="); //play all games against the RandomLateEnd Agent player2 = new FaceHunter(); Helper.SimulateAllGames(gameConfig, player1, player2, decksAvailable); Console.WriteLine("Test Ended"); Console.ReadLine(); }
public static double Benchmark(double[] X) { // create random coef run 10 times and get the win rate SetCoef(X); //todo: rename to Main GameConfig gameConfig = new GameConfig { StartPlayer = 1, Player1HeroClass = CardClass.MAGE, Player2HeroClass = CardClass.MAGE, FillDecks = true, Logging = false, }; //Console.WriteLine("Setup POGameHandler"); AbstractAgent player1 = new FaceHunter(); AbstractAgent player2 = new UCTHunter(); var gameHandler = new POGameHandler(gameConfig, player1, player2, debug: false); //Console.WriteLine("PlayGame"); gameHandler.PlayGames(20); GameStats gameStats = gameHandler.getGameStats(); gameStats.printResults(); //Console.WriteLine("Setup gameConfig"); double winRate = (double)gameStats.PlayerB_Wins / (double)gameStats.GamesPlayed; var str = new StringBuilder(); Log.Instance("coef.txt").Append(FullPrintCoef(winRate)); double expectedMin = 1; return(Math.Pow(winRate - expectedMin, 2)); }