public EducationViewModel()
 {
     if (IsInDesignMode)
         EducatedAIPlayer = new SticksAIPlayer("Bot", 0);
     else
     {
         InitializeCommands();
         RegisterToMessages();
     }
 }
示例#2
0
 public GameViewModel()
 {
     if (IsInDesignMode)
         _game = new SticksGame(11, 1, new Player("Player"), new SticksAIPlayer("Bot", 0));
     else
     {
         InitializeCommands();
         RegisterToMessages();
         _educatedAIPlayer = new SticksAIPlayer(BotNames.GetRandom(), 1000);
     }
 }
示例#3
0
 private void RegisterToMessages()
 {
     Messenger.Default.Register<Player>(this, Tokens.PlayerNameChanged, (player) =>
     {
         if (_humanPlayer == null)
             _humanPlayer = player;
         RaisePropertyChanged("HumanPlayerName");
         (NewGameCommand as RelayCommand).RaiseCanExecuteChanged();
     });
     Messenger.Default.Register<SticksAIPlayer>(this, Tokens.EducationEnded, (educatedAIPlayer) =>
     {
         _educatedAIPlayer = educatedAIPlayer;
         _educatedAIPlayer.ResetWinsCount();
         RaisePropertyChanged("EducatedAIPlayerName");
         (NewGameCommand as RelayCommand).RaiseCanExecuteChanged();
     });
 }
        private void InitializeCommands()
        {
            RunEducationalGamesCommand = new RelayCommand(() =>
            {
                _currentEducationalGamesCount = 0;
                _firstAI = new SticksAIPlayer(BotNames.GetRandom(), 0);
                _secondAI = new SticksAIPlayer(BotNames.GetRandom(), 0);

                Messenger.Default.Send<Tokens, MainViewModel>(Tokens.EducationStarted);
                RunEducationalGames();
            }, () =>
            {
                return !_isGameInProgress;
            });
        }