private void banco_LoseEvent()
 {
     ChatMessage chatMessage = new ChatMessage("Server", DateTime.Now.ToString("hh:mm:ss tt"), "Cố lên nhé");
     chatBox.VerticalAlignment = System.Windows.VerticalAlignment.Top;
     chatBox.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
     chatBox.Items.Add(chatMessage);
 }
        private void banco_WinEvent()
        {

            if (banco.End == Player.Human)
            {
                string temp1 = banco.Option.PlayerAName + " " + "là người chiến thắng";

                ChatMessage chatMessage = new ChatMessage("Server", DateTime.Now.ToString("hh:mm:ss tt"), temp1);
                chatBox.VerticalAlignment = System.Windows.VerticalAlignment.Top;
                chatBox.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                chatBox.Items.Add(chatMessage);
            }
            else if (banco.End == Player.Com)
            {
                string temp2 = banco.Option.PlayerBName + "là người chiến thắng";

                ChatMessage chatMessage = new ChatMessage("Server", DateTime.Now.ToString("hh:mm:ss tt"), temp2);
                chatBox.VerticalAlignment = System.Windows.VerticalAlignment.Top;
                chatBox.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                chatBox.Items.Add(chatMessage);
            }


        }
        private void btnPlayeGame(object sender, RoutedEventArgs e)
        {

            if (rdbhuman.IsChecked == false && rdbcomputer.IsChecked == false)
            {
                MessageBox.Show("Chọn chế độ chơi", "Thông báo");

            }
            else
            {
                if (test == 0 && txtname2.Text == "Máy" && txtname1.Text != "")
                {

                    banco.Option.PlayerAName = txtname1.Text;
                    banco.Option.PlayerBName = txtname2.Text;
                    ChatMessage chatMessage = new ChatMessage("Server", DateTime.Now.ToString("hh:mm:ss tt"), "Trò chơi bắt đầu");
                    chatBox.VerticalAlignment = System.Windows.VerticalAlignment.Top;
                    chatBox.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                    chatBox.Items.Add(chatMessage);
                    banco.NewGame();

                }
                else if (txtname1.Text != "" && txtname2.Text != "" && test == 1)
                {

                    banco.Option.PlayerAName = txtname1.Text;
                    banco.Option.PlayerBName = txtname2.Text;
                    ChatMessage chatMessage = new ChatMessage("Server", DateTime.Now.ToString("hh:mm:ss tt"), "Trò chơi bắt đầu");
                    chatBox.VerticalAlignment = System.Windows.VerticalAlignment.Top;
                    chatBox.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                    chatBox.Items.Add(chatMessage);
                    banco.NewGame();
                }
                else
                {
                    MessageBox.Show(" Chưa nhập tên người chơi", "Thông báo");
                }
            }
        }
 private void btnNewGame_Click(object sender, RoutedEventArgs e)
 {
     ChatMessage chatMessage = new ChatMessage("Server", DateTime.Now.ToString("hh:mm:ss tt"), "Ván đáu mới, form mới tiếp tiếp tục nhé");
     chatBox.VerticalAlignment = System.Windows.VerticalAlignment.Top;
     chatBox.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
     chatBox.Items.Add(chatMessage);
     banco.PlayAgain();
 }
 private void btnSend_Click(object sender, RoutedEventArgs e)
 {
     if (txtMessage.Text != "")
     {
         ChatMessage chatMessage = new ChatMessage(txtYourName.Text, DateTime.Now.ToString("hh:mm:ss tt"), txtMessage.Text);
         chatBox.VerticalAlignment = System.Windows.VerticalAlignment.Top;
         chatBox.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
         chatBox.Items.Add(chatMessage);
     }
     connect.sendmessage(socket, txtYourName.Text, txtMessage.Text);
 }
Beispiel #6
0
        public MainWindow()
        {
            InitializeComponent();


            worker.DoWork             += sleep;
            worker.RunWorkerCompleted += AIplay;
            chess_Board.view           = chessGrid;

            #region ketnoi

            socket = IO.Socket(System.Configuration.ConfigurationManager.ConnectionStrings["cn"].ConnectionString);
            socket.On(Socket.EVENT_CONNECT, () =>
            {
            });
            socket.On(Socket.EVENT_MESSAGE, (data) =>
            {
            });
            socket.On(Socket.EVENT_CONNECT_ERROR, (data) =>
            {
            });
            socket.On("ChatMessage", (data) =>
            {
                if (((Newtonsoft.Json.Linq.JObject)data)["message"].ToString() == "Welcome!")
                {
                    socket.Emit("MyNameIs", name);
                    socket.Emit("ConnectToOtherPlayer");
                }
                string mes = ((Newtonsoft.Json.Linq.JObject)data)["message"].ToString();
                if (mes.Contains("You are the first player!") == true)
                {
                    this.Dispatcher.Invoke((Action)(() =>
                    {
                        if (numplayer == 1)
                        {
                            activer = 1;
                            socket.Emit("MyStepIs", JObject.FromObject(new { row = 5, col = 5 }));
                            ChatMessage chatMessage = new ChatMessage("Sever", DateTime.Now.ToString("hh:mm:ss tt"), "You are the first player!");
                            listView.Items.Add(chatMessage);
                        }
                        else
                        {
                            activer = 0;
                            ChatMessage chatMessage = new ChatMessage("Sever", DateTime.Now.ToString("hh:mm:ss tt"), "You are the first player!");
                            listView.Items.Add(chatMessage);
                        }
                    }));
                }

                mes = data.ToString();
                if (mes.Contains("from") == true)
                {
                    this.Dispatcher.Invoke((Action)(() =>
                    {
                        string temp = "";
                        var o = JObject.Parse(data.ToString());
                        temp = (string)o["from"];
                        string mess = (string)o["message"];
                        ChatMessage chatMessage = new ChatMessage(temp, DateTime.Now.ToString("hh:mm:ss tt"), mess);
                        listView.Items.Add(chatMessage);
                    }));
                }
                else
                {
                    this.Dispatcher.Invoke((Action)(() =>
                    {
                        mes = ((Newtonsoft.Json.Linq.JObject)data)["message"].ToString();
                        ChatMessage chatMessage = new ChatMessage("Sever", DateTime.Now.ToString("hh:mm:ss tt"), mes);
                        listView.Items.Add(chatMessage);
                    }));
                }
            });

            socket.On("EndGame", (data) =>
            {
                this.Dispatcher.Invoke((Action)(() =>
                {
                    if (numplayer == 2)
                    {
                        isEnd = true;
                        mes = ((Newtonsoft.Json.Linq.JObject)data)["message"].ToString();
                        ChatMessage chatMessage = new ChatMessage("Sever", DateTime.Now.ToString("hh:mm:ss tt"), mes);
                        listView.Items.Add(chatMessage);
                    }
                    if (numplayer == 1)
                    {
                        isEnd = true;
                        mes = ((Newtonsoft.Json.Linq.JObject)data)["message"].ToString();
                        ChatMessage chatMessage = new ChatMessage("Sever", DateTime.Now.ToString("hh:mm:ss tt"), mes);
                        listView.Items.Add(chatMessage);
                    }
                }));
            });

            socket.On(Socket.EVENT_ERROR, (data) =>
            {
                //MessageBox.Show(data.ToString());
            });


            socket.On("NextStepIs", (data) =>
            {
                // MessageBox.Show(data.ToString());
                var o   = JObject.Parse(data.ToString());
                activer = (int)o["player"];
                row     = (int)o["row"];
                column  = (int)o["col"];
                //MessageBox.Show(row + "  " + column + "   " + activer);
                if (activer == 1)
                {
                    this.Dispatcher.Invoke((Action)(() =>
                    {
                        if (chess_Board.view == null)
                        {
                            chess_Board.view = chessGrid;
                        }
                        chess_Board.play(column, row, activer);
                        activer = 0;
                    }));
                }

                if (activer == 0)
                {
                    if (numplayer == 2)
                    {
                        if (rec == true)
                        {
                            this.Dispatcher.Invoke((Action)(() =>
                            {
                                activer = 1;
                                rec = false;
                            }));
                        }
                        else
                        {
                            this.Dispatcher.Invoke((Action)(() =>
                            {
                                activer = 0;
                            }));
                        }
                    }
                    else
                    {
                        if (rec == true)
                        {
                            this.Dispatcher.Invoke((Action)(() =>
                            {
                                activer = 1;
                                rec = false;
                            }));
                        }
                        else
                        {
                            rec       = true;
                            Random rd = new Random();
                            int _r    = 0, _c = 0;
                            _r        = rd.Next(0, 11);
                            _c        = rd.Next(0, 11);
                            while (chess_Board.Board[_r, _c] != 0)
                            {
                                _r = rd.Next(0, 11);
                                _c = rd.Next(0, 11);
                                chess_Board.play(_c, _r, 2);
                                socket.Emit("MyStepIs", JObject.FromObject(new { row = _r, col = _c }));
                            }
                        }
                    }
                }
            });

            #endregion
        }