public GameResult MakeFight(ReversiPlayer black, ReversiPlayer white, bool v=true) { var players = new ReversiPlayer[3]; //[0] won't be used! players[GameService.BlackPlayer] = black; players[GameService.WhitePlayer] = white; var game = new Game(); GameService.Start(game, _boardSize); int player = GameService.BlackPlayer; while (game.CurrentPlayer != GameService.NoPlayer) { try { PrintLine(game.AvailableMovesToString(), v); var sw = new Stopwatch(); sw.Start(); string move = players[player].GetNextMove(game); sw.Stop(); PrintLine(sw.ElapsedMilliseconds + " ms", v); GameService.Move(game, move, player); PrintLine(players[player] + @" moves: " + move, v); PrintLine(game.StateToString(), v); player = Switch(player); } catch (WrongOrderException) { player = Switch(player); } } var result = new GameResult(game.GetScore(GameService.BlackPlayer), game.GetScore(GameService.WhitePlayer)); result.Print(); return result; }
public void AddResult(GameResult result) { _results.Add(result); }