コード例 #1
0
        public StrategyDialogService(PlayerSettingsViewModel playerSettingsViewModel, ISendSettings sendSettings)
        {
            dialogVM            = playerSettingsViewModel;
            dialogVM.OnPressOK += DialogVM_OnPressOK;

            _sendSettings = sendSettings;
        }
コード例 #2
0
 private void Settings_Executed(object sender, ExecutedRoutedEventArgs e)
 {
     e.Handled = true;
     PauseGame();
     if (!ViewModel.IsGameRunning)
     {
         PlayerSettingsViewModel vm = TryShowSettings();
         if (vm != null)
         {
             Controller.changePlayerSettings(
                 new Tuple <Model.Player.Types, Model.Player.Types>(PlayerViewModel.PlayerTypeToModel(vm.WhitePlayer), PlayerViewModel.PlayerTypeToModel(vm.BlackPlayer)),
                 new Tuple <string, string>(vm.WhitePlayer.Name, vm.BlackPlayer.Name),
                 new Tuple <Model.Player.Levels, Model.Player.Levels>(PlayerViewModel.PlayerLevelToModel(vm.WhitePlayer), PlayerViewModel.PlayerLevelToModel(vm.BlackPlayer)));
         }
     }
 }
コード例 #3
0
        private void NewGame()
        {
            PlayerSettingsViewModel vm = TryShowSettings();

            if (vm != null)
            {
                Controller.changePlayerSettings(
                    new Tuple <Model.Player.Types, Model.Player.Types>(PlayerViewModel.PlayerTypeToModel(vm.WhitePlayer), PlayerViewModel.PlayerTypeToModel(vm.BlackPlayer)),
                    new Tuple <string, string>(vm.WhitePlayer.Name, vm.BlackPlayer.Name),
                    new Tuple <Model.Player.Levels, Model.Player.Levels>(PlayerViewModel.PlayerLevelToModel(vm.WhitePlayer), PlayerViewModel.PlayerLevelToModel(vm.BlackPlayer)));

                ModelException.TryThrow <GameController.T>(Controller.TryNewGame());
                ModelException.TryThrow <GameController.T>(Controller.TryRun());
                FocusBoard();
                CommandManager.InvalidateRequerySuggested();
            }
        }
コード例 #4
0
        private PlayerSettingsViewModel TryShowSettings()
        {
            PlayerSettingsViewModel vm  = (PlayerSettingsViewModel)ViewModel.Settings.Clone();
            SettingsWindow          win = new SettingsWindow()
            {
                Owner = this, ViewModel = vm
            };

            if (win.ShowDialog() ?? false)
            {
                return(vm);
            }
            else
            {
                return(null);
            }
        }
コード例 #5
0
 public override GamePlayer Build(StoneColor color, TimeControlSettingsViewModel timeSettings, PlayerSettingsViewModel settings)
 {
     return(new HumanPlayerBuilder(color)
            .Name(color == StoneColor.Black ? _localizer.Black : _localizer.White)
            .Rank("NR")
            .Clock(timeSettings.Build())
            .Build());
 }
コード例 #6
0
 public abstract GamePlayer Build(StoneColor color, TimeControlSettingsViewModel timeSettings, PlayerSettingsViewModel settings);
コード例 #7
0
        public override GamePlayer Build(StoneColor color, TimeControlSettingsViewModel timeSettings, PlayerSettingsViewModel settings)
        {
            IAIProgram newInstance = (IAIProgram)Activator.CreateInstance(_ai.GetType());

            if (settings.IsFuego)
            {
                Fuego fuego = (Fuego)newInstance;
                fuego.Ponder      = settings.FuegoPonder;
                fuego.AllowResign = settings.FuegoResign;
                fuego.MaxGames    = settings.FuegoMaxGames;
            }
            else if (settings.IsFluffy)
            {
                Fluffy fluffy = (Fluffy)newInstance;
                fluffy.TreeDepth = settings.FluffyTreeDepth;
            }
            return(new AiPlayerBuilder(color)
                   .Name(this._aiLocalizedMetadata.Name + "(" + color.ToIgsCharacterString() + ")")
                   .Rank("NR")
                   .Clock(timeSettings.Build())
                   .AiProgram(newInstance)
                   .Build());
        }