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(); }
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); }
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; } } }