private void txt_change(object sender, TextChangedEventArgs e)
        {
            if (BanCo.currPlayer == Player.Online && BanCo.end == Player.None)
            {
                BanCo.board[BanCo.rows, BanCo.columns] = BanCo.currPlayer; //Lưu loại cờ vừa đánh vào mảng
                BanCo.DrawDataBoard(BanCo.rows, BanCo.columns, true, true);
                BanCo.end = BanCo.CheckEnd(BanCo.rows, BanCo.columns);     //Kiểm tra xem trận đấu kết thúc chưa

                if (BanCo.end == Player.Online)                            //Nếu người chơi 2 thắng
                {
                    BanCo.OnWin();                                         //Khai báo sư kiện Win
                    BanCo.OWinorLose();                                    //Hiển thị 5 ô Win.
                    ChatMessage chatMessage = new ChatMessage("Server", DateTime.Now.ToString("hh:mm:ss tt"), name + " là người thắng");
                    chatBox.VerticalAlignment   = System.Windows.VerticalAlignment.Top;
                    chatBox.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                    chatBox.Items.Add(chatMessage);
                    btnStart.Content = "New game";
                    newgame1         = true;
                }
                else
                {
                    BanCo.currPlayer = Player.Human; //Thiết lập lại lượt chơi
                    BanCo.OnComDanhXong();           // Khai báo sự kiện người chơi 2 đánh xong
                }
            }
        }
 //Contructor
 public LuongGiaBanCo(BanCo cls)
 {
     height = cls.Row;
     width = cls.Column;
     GiaTri = new int[height, width];
     ResetBoard();
 }
 //Contructor
 public LuongGiaBanCo(BanCo cls)
 {
     height = cls.Row;
     width  = cls.Column;
     GiaTri = new int[height, width];
     ResetBoard();
 }
        private void txtMay_Change(object sender, TextChangedEventArgs e)
        {
            if (BanCo.Option.WhoPlayWith == Player.MayOnline)
            {
                if (BanCo.currPlayer == Player.Human && BanCo.end == Player.None)
                {
                    BanCo.board[BanCo.rows, BanCo.columns] = BanCo.currPlayer; //Lưu loại cờ vừa đánh vào mảng
                    BanCo.DrawDataBoard(BanCo.rows, BanCo.columns, true, true);
                    BanCo.end = BanCo.CheckEnd(BanCo.rows, BanCo.columns);     //Kiểm tra xem trận đấu kết thúc chưa

                    if (BanCo.end == Player.Human)                             //Nếu người chơi 2 thắng
                    {
                        BanCo.OnWin();                                         //Khai báo sư kiện Win
                        BanCo.OWinorLose();                                    //Hiển thị 5 ô Win.
                        btnStartMay.Content = "New game";
                        newgame             = true;
                    }
                    else
                    {
                        BanCo.currPlayer = Player.Com; //Thiết lập lại lượt chơi
                        BanCo.OnComDanhXong();         // Khai báo sự kiện người chơi 2 đánh xong
                    }
                }
                if (BanCo.currPlayer == Player.Com && BanCo.end == Player.None)//Nếu lượt đi là máy và trận đấu chưa kết thúc
                {
                    //Tìm đường đi cho máy

                    BanCo.eBoard.ResetBoard();
                    BanCo.LuongGia(Player.Com);       //Lượng giá bàn cờ cho máy
                    node = BanCo.eBoard.GetMaxNode(); //lưu vị trí máy sẽ đánh
                    int r, c;
                    r                 = node.Row; c = node.Column;
                    connect.rw1       = r;
                    connect.cl1       = c;
                    BanCo.board[r, c] = BanCo.currPlayer;  //Lưu loại cờ vừa đánh vào mảng
                    BanCo.DrawDataBoard(r, c, true, true); //Vẽ con cờ theo lượt chơi
                    connect.guitoado(socket, r, c);
                    BanCo.end = BanCo.CheckEnd(r, c);      //Kiểm tra xem trận đấu kết thúc chưa

                    if (BanCo.end == Player.Com)           //Nếu máy thắng
                    {
                        BanCo.OnLose();                    //Khai báo sư kiện Lose
                        BanCo.OWinorLose();                //Hiển thị 5 ô Lose.
                        btnStartMay.Content = "New game";
                        newgame             = true;
                    }
                    else if (BanCo.end == Player.None)
                    {
                        BanCo.currPlayer = Player.Human; //Thiết lập lại lượt chơi
                        BanCo.OnComDanhXong();           // Khai báo sự kiện người đánh xong
                    }
                }
            }
        }
        public MainWindow()
        {
            this.InitializeComponent();
            banco = new BanCo(this, grdBanCo);
            BanCo.Option.WhoPlayWith = Player.MayOnline;
            banco.DrawGomokuBoard();
            grdBanCo.MouseDown += new System.Windows.Input.MouseButtonEventHandler(banco.grdBanCo_MouseDown);
            BanCo.WinEvent += new BanCo.WinEventHander(banco_WinEvent);
            BanCo.LoseEvent += new BanCo.LoseEventHander(banco_LoseEvent);

            txt.TextChanged += new TextChangedEventHandler(txt_change);
            txtMay.TextChanged += new TextChangedEventHandler(txtMay_Change);
            txtNguoiMay.TextChanged += new TextChangedEventHandler(txtNguoiMay_Change);
        }
        public MainWindow()
        {
            this.InitializeComponent();
            banco = new BanCo(this, grdBanCo);
            BanCo.Option.WhoPlayWith = Player.MayOnline;
            banco.DrawGomokuBoard();
            grdBanCo.MouseDown += new System.Windows.Input.MouseButtonEventHandler(banco.grdBanCo_MouseDown);
            BanCo.WinEvent     += new BanCo.WinEventHander(banco_WinEvent);
            BanCo.LoseEvent    += new BanCo.LoseEventHander(banco_LoseEvent);

            txt.TextChanged         += new TextChangedEventHandler(txt_change);
            txtMay.TextChanged      += new TextChangedEventHandler(txtMay_Change);
            txtNguoiMay.TextChanged += new TextChangedEventHandler(txtNguoiMay_Change);
        }
        private void txtNguoiMay_Change(object sender, TextChangedEventArgs e)

        {
            btnStartMay.Content      = "Change";
            BanCo.Option.WhoPlayWith = Player.MayOnline;



            if (BanCo.Option.WhoPlayWith == Player.MayOnline)
            {
                if (BanCo.currPlayer == Player.Com)//Nếu lượt đi là máy và trận đấu chưa kết thúc
                {
                    //Tìm đường đi cho máy

                    BanCo.DiNgauNhien();
                    connect.rw1 = rowngaunhien;
                    connect.cl1 = colngaunhien;
                    connect.guitoado(socket, rowngaunhien, colngaunhien);
                    BanCo.currPlayer = Player.Human;
                }
            }
        }