Exemplo n.º 1
0
    public void PlayAndAddTraining()
    {
        List <Player> players = new List <Player> ()
        {
            new HumanPlayer(_gameView.TurnView),
            _brain,
            _brain.Clone(),
            _brain.Clone()
        };

        _gameView.gameObject.SetActive(true);
        Game game = new Game(players);

        _gameView.Init(game);
        Thread thread = new Thread(new ThreadStart(() => { game.Play(() => {
                CompositionRoot.Instance.ExecuteInMainThread(() => {
                    //_view.gameObject.SetActive (false);
                    Debug.Log("Match ended");
                    foreach (var trainingController in game.TrainingControllers)
                    {
                        foreach (var trainingModel in trainingController.TrainingModels)
                        {
                            _trainingModels.Add(trainingModel);
                        }
                    }
                    UpdateView();
                    InitTrainers();
                });
            }); }));

        thread.Start();
    }
Exemplo n.º 2
0
 public void CreateRandomBrainPressed()
 {
     _brain          = new AINeuralPlayer2();
     _prevBrain      = (AINeuralPlayer2)_brain.Clone();
     _trainingsCount = 0;
     Debug.Log("Created ai");
 }
Exemplo n.º 3
0
 public void LoadTraining()
 {
     using (Stream stream = File.Open(FilePath, FileMode.Open))
     {
         var binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
         _trainingModels = (List <TrainingDecisionModel>)binaryFormatter.Deserialize(stream);
         _brain          = (AINeuralPlayer2)binaryFormatter.Deserialize(stream);
         _prevBrain      = (AINeuralPlayer2)_brain.Clone();
     }
     UpdateView();
     InitTrainers();
     Debug.Log("Training loaded");
 }
Exemplo n.º 4
0
 public void OnRevertToPrevPressed()
 {
     _brain = (AINeuralPlayer2)_prevBrain.Clone();
     UpdateView();
 }