Пример #1
0
        private static void LoadUserEngine(Game game, int engineID, int chessTypeID, string bookFile)
        {
            DataSet dataset = SocketClient.GetSetIntruptedGameUserEngine(engineID, UserStatusE.Playing);

            if (dataset != null && dataset.Tables.Count > 0)
            {
                if (dataset.Tables[0] != null && dataset.Tables[0].Rows.Count > 0)
                {
                    App.Model.Db.Engine engine = new App.Model.Db.Engine(Ap.Cxt, dataset.Tables[0].Rows[0]);

                    InfinitySettings.EngineManager.EngineManager objEngineManager = new InfinitySettings.EngineManager.EngineManager();
                    List <InfinitySettings.EngineManager.Engine> lstEngine        = objEngineManager.LoadEngines();
                    InfinitySettings.EngineManager.Engine        eng = lstEngine.Where(x => x.IsActive == true && x.EngineTitle.Replace(".exe", "") == engine.Name).FirstOrDefault();

                    if (eng != null)
                    {
                        UCIEngine selectedEngine = new UCIEngine(eng.FilePath, Ap.EngineOptions.HashTableSize, game);

                        selectedEngine.Load();
                        selectedEngine.Close();

                        Ap.PlayingMode.SelectedEngine = selectedEngine;
                        Ap.PlayingMode.ChessTypeID    = chessTypeID;
                        Ap.PlayingMode.SelectedBook   = new Book(game, bookFile);
                    }
                }
            }
        }
Пример #2
0
        private void LoadEnginesList()
        {
            EngineManager objEngineManager = new EngineManager();

            InfinitySettings.EngineManager.Engine        _defaultEngine = objEngineManager.LoadDefaultEngine();
            List <InfinitySettings.EngineManager.Engine> engines        = objEngineManager.LoadEngines();

            engines = engines.Where(x => x.IsActive == true).ToList();

            for (int i = 0; i < TournamentInfo.ParticipitantList.Count; i++)
            {
                for (int j = 0; j < engines.Count; j++)
                {
                    if (engines[j].Name == TournamentInfo.ParticipitantList[i].ToString())
                    {
                        engines.Remove(engines[j]);
                    }
                }
            }

            if (isWhite) // remove engine from list, if it is already selected for black engine
            {
                if (App.Win.EngineVsEngine.UCIEngineBlack != null)
                {
                    for (int i = 0; i < engines.Count; i++)
                    {
                        if (engines[i].TitleOnly == App.Win.EngineVsEngine.UCIEngineBlack.EngineName)
                        {
                            engines.Remove(engines[i]);
                        }
                    }
                }
            }
            else // remove engine from list, if it is already selected for white engine
            {
                if (App.Win.EngineVsEngine.UCIEngineWhite != null)
                {
                    for (int i = 0; i < engines.Count; i++)
                    {
                        if (engines[i].TitleOnly == App.Win.EngineVsEngine.UCIEngineWhite.EngineName)
                        {
                            engines.Remove(engines[i]);
                        }
                    }
                }
            }

            if (engines.Count > 0)
            {
                lstEngines.DisplayMember = "Name";
                lstEngines.ValueMember   = "FilePath";
                lstEngines.DataSource    = engines;
                if (!String.IsNullOrEmpty(_defaultEngine.FilePath))
                {
                    lstEngines.SelectedValue = _defaultEngine.FilePath;
                }

                SetSelectedEngine();
            }
        }
Пример #3
0
 private void btnActive_Click(object sender, EventArgs e)
 {
     if (lstDeActiveEngine.Count > 0 && lstDeActivateEngine.SelectedItem != null)
     {
         InfinitySettings.EngineManager.Engine selectedItem = (InfinitySettings.EngineManager.Engine)lstDeActivateEngine.SelectedItem;
         lstDeActiveEngine.Remove(selectedItem);
         lstActiveEngine.Add(selectedItem);
         RefreshLists();
     }
 }
Пример #4
0
        private void LoadEnginesList()
        {
            EngineManager objEngineManager = new EngineManager();
            List <InfinitySettings.EngineManager.Engine> lstEngine = objEngineManager.LoadEngines();

            lstEngine = lstEngine.Where(x => x.IsActive == true).ToList();
            if (IsAddKibitzer == true)
            {
                List <InfinitySettings.EngineManager.Engine> lstKibitzer = new List <InfinitySettings.EngineManager.Engine>();
                if (lstEngine.Count > 0)
                {
                    foreach (var item in lstEngine)
                    {
                        foreach (var itemKibitzer in this.MainForm.KibitzerManager.KibitzersList)
                        {
                            if (item.TitleOnly.ToLower() == itemKibitzer.UCIEngine.EngineName.ToLower())
                            {
                                lstKibitzer.Add(item);
                            }
                        }
                    }
                    foreach (var item in lstKibitzer)
                    {
                        lstEngine.Remove(item);
                    }
                    if (lstEngine.Count > 0)
                    {
                        lstEngines.DisplayMember = "Name";
                        lstEngines.ValueMember   = "FilePath";
                        lstEngines.DataSource    = lstEngine;
                    }
                }
            }
            else
            {
                if (lstEngine.Count > 0)
                {
                    lstEngines.DisplayMember = "Name";
                    lstEngines.ValueMember   = "FilePath";
                    lstEngines.DataSource    = lstEngine;

                    InfinitySettings.EngineManager.Engine _defaultEngine = objEngineManager.LoadDefaultEngine();
                    if (!String.IsNullOrEmpty(_defaultEngine.FilePath))
                    {
                        lstEngines.SelectedValue = _defaultEngine.FilePath;
                    }
                }
            }
        }
Пример #5
0
 private void btnDeActive_Click(object sender, EventArgs e)
 {
     if (lstActiveEngine.Count > 0 && lstActivateEngine.SelectedItem != null)
     {
         InfinitySettings.EngineManager.Engine selectedItem = (InfinitySettings.EngineManager.Engine)lstActivateEngine.SelectedItem;
         string _defaultEngine = this.Game.DefaultEngine.EngineName + ".exe";
         if (_defaultEngine != selectedItem.EngineTitle)
         {
             lstActiveEngine.Remove(selectedItem);
             lstDeActiveEngine.Add(selectedItem);
             RefreshLists();
         }
         else
         {
             MessageForm.Error(this, MsgE.ErrorEngineActive, selectedItem.Name);
         }
     }
 }