public static void MinmaxTest(IPlayer white, IPlayer black) { int wynik = 0, wht = 0, draw = 0, blc = 0, total = 0; int size = 100; Move m; for (int i = 0; i < size; i++) { // int now = DateTime.Now.Second; bool kto = true; Plansza p = new Plansza(); p.rozpoczecie(); wynik = 0; while ((wynik = p.GameEnded()) == 2) { if (kto) { m = white.MakeMove(p, 1); if (m == null) { wynik = 1; break; } } else { m = black.MakeMove(p, 2); if (m == null) { wynik = -1; break; } } p.ExecuteMove(m); kto = !kto; } switch (wynik) { case -1: wht++; break; case 0: draw++; break; case 1: blc++; break; default: break; } // Console.WriteLine(wynik + " \t" + (DateTime.Now.Second-now) + " sec."); total++; } Console.WriteLine(white.MyName() + ":\t" + wht);// + "," + Math.Round(((double)wht/(double)total * 100.0), 2)); Console.WriteLine("remis:\t" + draw); Console.WriteLine(black.MyName() + ":\t" + blc);// + "," + Math.Round(((double)blc / (double)total * 100.0), 2)); Console.WriteLine(); }
public static void TestFunction(int size, IPlayer white, IPlayer black) { StreamWriter sw = new StreamWriter("final_test.csv", true, System.Text.Encoding.UTF8); int wynik = 0, wht = 0, draw = 0, blc = 0, total = 0; Move m; for (int i = 0; i < size; i++) { // int now = DateTime.Now.Second; bool kto = true; Plansza p = new Plansza(); p.rozpoczecie(); wynik = 0; while ((wynik = p.GameEnded()) == 2) { if (kto) { m = white.MakeMove(p, 1); if (m == null) { wynik = 1; break; } } else { m = black.MakeMove(p, 2); if (m == null) { wynik = -1; break; } } p.ExecuteMove(m); kto = !kto; } switch (wynik) { case -1: wht++; break; case 0: draw++; break; case 1: blc++; break; default: break; } // Console.WriteLine(wynik + " \t" + (DateTime.Now.Second-now) + " sec."); total++; } sw.WriteLine(white.MyName() + "," + black.MyName() + "," + (double)wht / (double)total * 100.0 + "," + (double)draw / (double)total * 100.0 + "," + (double)blc / (double)total * 100.0 + "," + total); sw.Close(); }