public static void Main(string[] args) { Printer.Start(); Printer.AddToPrinter("Hello World"); var board = new Board(); board.PrintBoardToPrinter(); PlayerAbstract white = new RandomAI(board, Color.White); PlayerAbstract black = new AlphaBetaSimple(board, Color.Black); var gamesResult = GameLoop.Games(board, white, black, 1, boardPrint: true); var count = gamesResult.Length; Printer.AddToPrinter("Number of games played: " + count); var tmp = gamesResult.Count(a => a.Item1 == Color.Black); Printer.AddToPrinter(tmp + " wins for black (" + tmp / (double)count * 100d + "%) (" + black.Name + ")"); tmp = gamesResult.Count(a => a.Item1 == Color.White); Printer.AddToPrinter(tmp + " wins for white (" + tmp / (double)count * 100d + "%) (" + white.Name + ")"); tmp = gamesResult.Count(a => a.Item1 == Color.NoColor); Printer.AddToPrinter(tmp + " draws (" + tmp / (double)count * 100d + "%)"); Printer.AddToPrinter(gamesResult.Average(a => a.Item2) + " average number of turns needed"); Printer.AddToPrinter( gamesResult.Average(a => a.Item3) + "ms need on average for white (" + white.Name + ")"); Printer.AddToPrinter( gamesResult.Average(a => a.Item4) + "ms need on average for black (" + black.Name + ")"); Thread.Sleep(1000); Console.ReadLine(); }
private void button1_Click(object sender, EventArgs e) { var tmp = new Board(); if (Board == null) { Board = new List <Board>(); } Board.Clear(); trackBar1.SetRange(0, 1); _current = 0; Board.Add(tmp); PlayerAbstract whitePlayer = new AlphaBetaSimple(tmp, Chess.Basic.Color.White, 2, BoardEval.SimpleTable); PlayerAbstract blackPlayer = new AlphaBetaSimple(tmp, Chess.Basic.Color.Black, 2, BoardEval.Table); // PlayerAbstract whitePlayer = new RandomAI(tmp, Chess.Basic.Color.White); // PlayerAbstract blackPlayer = new Greedy1Ply(tmp, Chess.Basic.Color.Black); var result = GameLoop.Game(tmp, whitePlayer, blackPlayer, this); labelBlack.Text = blackPlayer.Name + " " + result.Item4 + "ms"; labelWhite.Text = whitePlayer.Name + " " + result.Item3 + "ms"; MessageBox.Show(result.Item1 == Chess.Basic.Color.NoColor ? "Draw" : "Winner is " + result.Item1); }