public void TestPlayers(string fileName = null)
        {
            var gm = new GameManager(this.GameManager.Rules) {
                Player1 = GameManager.Player1,
                Player2 = GameManager.Player2,
            };
            if (fileName != null)
                gm.Logger = new AppendGameLogger(fileName);

            List<int> gameLengths = new List<int>();
            for (int i = 0; i < NTestingIterations; i++)
            {
                //gm.NewGame();
                gameLengths.Add(gm.PlayGame());
            }
            P1Efficiency = gameLengths.Average();
        }
 public PlayersTrainerBase(IGameRules rules)
 {
     this.gameManager = new GameManager(rules); ShouldMinimize = false; RequireSingleThreaded = true;
 }