Ejemplo n.º 1
0
        public TournamentRunner(IAgent player0, IAgent player1, IStartPlayerDeterminer startPlayerDeterminer)
        {
            _player0 = player0;
            _player1 = player1;

            _startPlayerDeterminer = startPlayerDeterminer;
        }
Ejemplo n.º 2
0
        public GameRunner(IAgent player0, IAgent player1, IStartPlayerDeterminer startPlayerDeterminer)
        {
            _player0 = player0;
            _player1 = player1;

            _player0.Player = Player.Player0;
            _player1.Player = Player.Player1;

            _player0.IsTraining = false;
            _player1.IsTraining = false;

            _startPlayerDeterminer = startPlayerDeterminer;
        }
Ejemplo n.º 3
0
        public Trainer(IAgent agent0, IAgent agent1, IStartPlayerDeterminer startPlayerDeterminer)
        {
            _agent0 = agent0;
            _agent1 = agent1;

            _agent0.IsTraining = true;
            _agent1.IsTraining = true;

            _agent0.Player = Player.Player0;
            _agent1.Player = Player.Player1;

            _startPlayerDeterminer = startPlayerDeterminer;
        }
Ejemplo n.º 4
0
 private static void Train(IAgent agent0, IAgent agent1,
                           IStartPlayerDeterminer startPlayerDeterminer, TimeSpan maxTrainingTime)
 {
     if (LimitTrainingTime)
     {
         var trainer = new TimeboxedTrainer(agent0, agent1, startPlayerDeterminer, maxTrainingTime);
         var result  = trainer.Train(MaxTrainingEpisodes);
         Console.WriteLine($"Training result: {result}");
         Console.WriteLine();
     }
     else
     {
         var trainer = new Trainer(agent0, agent1, startPlayerDeterminer);
         trainer.Train(MaxTrainingEpisodes);
     }
 }
Ejemplo n.º 5
0
        public TimeboxedTrainer(IAgent agent0, IAgent agent1, IStartPlayerDeterminer startPlayerDeterminer, TimeSpan maxTime)
        {
            _agent0 = agent0;
            _agent1 = agent1;

            _agent0.IsTraining = true;
            _agent1.IsTraining = true;

            _agent0.Player = Player.Player0;
            _agent1.Player = Player.Player1;

            _startPlayerDeterminer = startPlayerDeterminer;
            _maxTime = maxTime;

            _stopwatchAgent0 = new Stopwatch();
            _stopwatchAgent1 = new Stopwatch();
        }
Ejemplo n.º 6
0
 public TickTackToe(IStartPlayerDeterminer startPlayerDeterminer)
 {
     _currentPlayer = startPlayerDeterminer.GetStartPlayer();
 }