Esempio n. 1
0
        /// <summary>
        /// Class constructor
        /// </summary>
        /// <param name="settingSearchMode">Actual search mode</param>
        /// <param name="boardEvalUtil">    Board Evaluation list</param>
        public frmSearchMode(SettingSearchMode settingSearchMode, BoardEvaluationUtil boardEvalUtil) : this()
        {
            int iPos;

            m_settingSearchMode = settingSearchMode;
            m_boardEvalUtil     = boardEvalUtil;
            foreach (IBoardEvaluation boardEval in m_boardEvalUtil.BoardEvaluators)
            {
                iPos = comboBoxWhiteBEval.Items.Add(boardEval.Name);
                if (settingSearchMode.WhiteBoardEvaluation == boardEval)
                {
                    comboBoxWhiteBEval.SelectedIndex = iPos;
                }
                iPos = comboBoxBlackBEval.Items.Add(boardEval.Name);
                if (settingSearchMode.BlackBoardEvaluation == boardEval)
                {
                    comboBoxBlackBEval.SelectedIndex = iPos;
                }
            }
            checkBoxTransTable.IsChecked = ((settingSearchMode.Option & SearchMode.OptionE.UseTransTable) != 0);
            if (settingSearchMode.ThreadingMode == SearchMode.ThreadingModeE.OnePerProcessorForSearch)
            {
                radioButtonOnePerProc.IsChecked = true;
            }
            else if (settingSearchMode.ThreadingMode == SearchMode.ThreadingModeE.DifferentThreadForSearch)
            {
                radioButtonOneForUI.IsChecked = true;
            }
            else
            {
                radioButtonNoThread.IsChecked = true;
            }
            if (settingSearchMode.BookMode == SettingSearchMode.BookModeE.NoBook)
            {
                radioButtonNoBook.IsChecked = true;
            }
            else if (settingSearchMode.BookMode == SettingSearchMode.BookModeE.Unrated)
            {
                radioButtonUnrated.IsChecked = true;
            }
            else
            {
                radioButtonELO2500.IsChecked = true;
            }
            if ((settingSearchMode.Option & SearchMode.OptionE.UseAlphaBeta) != 0)
            {
                radioButtonAlphaBeta.IsChecked = true;
            }
            else
            {
                radioButtonMinMax.IsChecked  = true;
                checkBoxTransTable.IsEnabled = false;
            }
            if (settingSearchMode.SearchDepth == 0)
            {
                radioButtonAvgTime.IsChecked = true;
                textBoxTimeInSec.Text        = settingSearchMode.TimeOutInSec.ToString();
                plyCount.Value = 6;
            }
            else
            {
                if ((settingSearchMode.Option & SearchMode.OptionE.UseIterativeDepthSearch) == SearchMode.OptionE.UseIterativeDepthSearch)
                {
                    radioButtonFixDepthIterative.IsChecked = true;
                }
                else
                {
                    radioButtonFixDepth.IsChecked = true;
                }
                plyCount.Value        = settingSearchMode.SearchDepth;
                textBoxTimeInSec.Text = "15";
            }
            plyCount2.Content = plyCount.Value.ToString();
            switch (settingSearchMode.RandomMode)
            {
            case SearchMode.RandomModeE.Off:
                radioButtonRndOff.IsChecked = true;
                break;

            case SearchMode.RandomModeE.OnRepetitive:
                radioButtonRndOnRep.IsChecked = true;
                break;

            default:
                radioButtonRndOn.IsChecked = true;
                break;
            }
            textBoxTransSize.Text  = (TransTable.TranslationTableSize / 1000000 * 32).ToString();   // Roughly 32 bytes / entry
            plyCount.ValueChanged += new RoutedPropertyChangedEventHandler <double>(plyCount_ValueChanged);
            switch (settingSearchMode.DifficultyLevel)
            {
            case SettingSearchMode.DifficultyLevelE.VeryEasy:
                radioButtonLevel1.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.Easy:
                radioButtonLevel2.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.Intermediate:
                radioButtonLevel3.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.Hard:
                radioButtonLevel4.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.VeryHard:
                radioButtonLevel5.IsChecked = true;
                break;

            default:
                radioButtonLevelManual.IsChecked = true;
                break;
            }
            radioButtonLevel1.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.VeryEasy);
            radioButtonLevel2.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.Easy);
            radioButtonLevel3.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.Intermediate);
            radioButtonLevel4.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.Hard);
            radioButtonLevel5.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.VeryHard);
            radioButtonLevelManual.ToolTip = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.Manual);
        }
        /// <summary>
        /// Default constructor
        /// </summary>
        /// <param name="parent">               Parent Window</param>
        /// <param name="settingSearchMode">    Search mode</param>
        private frmGameParameter(MainWindow parent, SettingSearchMode settingSearchMode) : this()
        {
            ParentWindow      = parent;
            SettingSearchMode = settingSearchMode;
            switch (ParentWindow.PlayingMode)
            {
            case MainWindow.PlayingModeE.DesignMode:
                throw new System.ApplicationException("Must not be called in design mode.");

            case MainWindow.PlayingModeE.ComputerPlayWhite:
            case MainWindow.PlayingModeE.ComputerPlayBlack:
                radioButtonPlayerAgainstComputer.IsChecked = true;
                radioButtonPlayerAgainstComputer.Focus();
                break;

            case MainWindow.PlayingModeE.PlayerAgainstPlayer:
                radioButtonPlayerAgainstPlayer.IsChecked = true;
                radioButtonPlayerAgainstPlayer.Focus();
                break;

            case MainWindow.PlayingModeE.ComputerPlayBoth:
                radioButtonComputerAgainstComputer.IsChecked = true;
                radioButtonComputerAgainstComputer.Focus();
                break;
            }
            if (ParentWindow.PlayingMode == MainWindow.PlayingModeE.ComputerPlayBlack)
            {
                radioButtonComputerPlayBlack.IsChecked = true;
            }
            else
            {
                radioButtonComputerPlayWhite.IsChecked = true;
            }
            switch (SettingSearchMode.DifficultyLevel)
            {
            case SettingSearchMode.DifficultyLevelE.Manual:
                radioButtonLevelManual.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.VeryEasy:
                radioButtonLevel1.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.Easy:
                radioButtonLevel2.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.Intermediate:
                radioButtonLevel3.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.Hard:
                radioButtonLevel4.IsChecked = true;
                break;

            case SettingSearchMode.DifficultyLevelE.VeryHard:
                radioButtonLevel5.IsChecked = true;
                break;

            default:
                radioButtonLevel1.IsChecked = true;
                break;
            }
            CheckState();
            radioButtonLevel1.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.VeryEasy);
            radioButtonLevel2.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.Easy);
            radioButtonLevel3.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.Intermediate);
            radioButtonLevel4.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.Hard);
            radioButtonLevel5.ToolTip      = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.VeryHard);
            radioButtonLevelManual.ToolTip = SettingSearchMode.ModeTooltip(SettingSearchMode.DifficultyLevelE.Manual);
        }