Example #1
0
        /// <summary>
        /// Khởi tạo một thể hiện mới của class BanCo
        /// </summary>
        public BanCo()
        {
            BoardSize = Settings.Default.BOARD_SIZE;

            ActivePlayer = OCo.CellValues.Player1;
            Won          = OCo.CellValues.None;

            CurrentSocket           = new SocketModel();
            CurrentSocket.OnStart  += CurrentSocket_OnStart;
            CurrentSocket.OnPlayAt += CurrentSocket_OnPlayAt;

            AI = new AI();
            bw = new BackgroundWorkerModel(this, AI, CurrentSocket);
        }
        /// <summary>
        /// Khởi tạo một thể hiện mới cho class BackgroundWorker
        /// </summary>
        public BackgroundWorkerModel(BanCo banCo, AI aI, SocketModel socket)
        {
            BanCo  = banCo;
            AI     = aI;
            Socket = socket;

            if (backgroundWorker == null)
            {
                backgroundWorker = new BackgroundWorker();
                backgroundWorker.WorkerSupportsCancellation = true;

                backgroundWorker.DoWork             += new DoWorkEventHandler(backgroundWorker_DoWork);
                backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker_RunWorkerCompleted);
            }
        }