static void Main(string[] args) { Func<GameState, bool, double> evaluator = (currentState, imPlayerTwo) => { return NumPossibleMoves(currentState, imPlayerTwo) - NumPossibleMoves(currentState, !imPlayerTwo); }; Func<GameState, bool, double> badevaluator = (currentState, imPlayerTwo) => { return MoveFar(currentState, imPlayerTwo) - MoveFar(currentState, !imPlayerTwo); }; MatchEngine me = new MatchEngine(new Bot(4, badevaluator), new Bot(4, evaluator), 15); MatchInfo i = me.Run(); i.Player1Description = "Bot 1 bla bla"; i.Player2Description = "Bot 2 bla bla"; Console.WriteLine(i); }
private static void Compare(IPlayer player1, string player1Description, IPlayer player2, string player2Description, string dir) { string dirname = dir; string path = @"C:\Users\Dan\Documents\Visual Studio 2012\Projects\Kamisado\HeuristicComparer\bin\Debug\" + dirname + @"\"; Directory.CreateDirectory(path); int player1Wins = 0; int player2Wins = 0; for (int i = 0; i < NUM_MATCHES / 2; i++) { player1.Score = 0; player2.Score = 0; MatchEngine me = new MatchEngine(player1, player2, WIN_SCORE); MatchInfo mi = me.Run(); mi.Player1Description = player1Description; mi.Player2Description = player2Description; if (mi.Player2Won) { player2Wins++; } else { player1Wins++; } File.AppendAllText(path + "Match" + (i+1) + ".txt", mi.ToString()); Console.WriteLine("Done with match"); } for (int i = NUM_MATCHES / 2; i < NUM_MATCHES; i++) { player1.Score = 0; player2.Score = 0; MatchEngine me = new MatchEngine(player2, player1, WIN_SCORE); MatchInfo mi = me.Run(); mi.Player1Description = player2Description; mi.Player2Description = player1Description; if (mi.Player2Won) { player1Wins++; } else { player2Wins++; } File.AppendAllText(path + "Match" + (i + 1) + ".txt", mi.ToString()); Console.WriteLine("Done with match"); } string output = "Player 1: " + player1Description + Environment.NewLine; output += "Player 2: " + player2Description + Environment.NewLine; output += "Player 1 Wins: " + player1Wins + Environment.NewLine; output += "Player 2 Wins " + player2Wins; File.AppendAllText(path + "Output.txt", output); }