Ejemplo n.º 1
0
 private bool verify(int row, int col, CHESSMAN current)
 {
     //TurnManager tmp = stack.Pop();
     if (turnManager.color != CHESSMAN.NOTHING)
     {
         if (turnManager.color == current)
         {
             return(false);
         }
         else
         {
             if (current == CHESSMAN.BLACK)
             {
                 turnManager.color         = CHESSMAN.WHITE;
                 turnManager.currentColumn = col;
                 turnManager.currentRow    = row;
                 return(true);
             }
             turnManager.currentColumn = col;
             turnManager.currentRow    = row;
             turnManager.color         = CHESSMAN.BLACK;
             return(true);
         }
     }
     return(true);
 }
Ejemplo n.º 2
0
        private void newChessAdded(int numOfRow, int numOfColumn, CHESSMAN color)
        {
            myChessArray.addChessMan(numOfRow, numOfColumn, color);
            b = drawBoard(10);
            drawChessMan();

            win = myChessArray.checkStatus(numOfRow, numOfColumn, (int)color);
            if (win)
            {
                Line vactoryLine = new Line();
                vactoryLine.Stroke = Brushes.Red;
                vactoryLine.X1     = b.start + (myChessArray.victoryLine[1]) * b.gap;
                vactoryLine.Y1     = b.start + (myChessArray.victoryLine[0]) * b.gap;
                vactoryLine.X2     = b.start + (myChessArray.victoryLine[3]) * b.gap;
                vactoryLine.Y2     = b.start + (myChessArray.victoryLine[2]) * b.gap;
                GameBoard.Children.Add(vactoryLine);
                if (color == myColor)
                {
                    ShowMsg("You Win!");
                    //sendToServer(mySocket.LocalEndPoint.ToString() + "/WinOver/" + rival);
                }
                else
                {
                    ShowMsg("You Lose!");
                }
            }
        }
Ejemplo n.º 3
0
        public void addChessMan(int row, int col, CHESSMAN chessman)
        {
            if (chessArray[row, col] != (int)CHESSMAN.NOTHING || chessman == CHESSMAN.NOTHING)
            {
                return;
            }

            if (turnManager.color == CHESSMAN.NOTHING && chessman != CHESSMAN.BLACK)
            {
                return;
            }

            if (chessman == turnManager.color)
            {
                deletChessMan(turnManager.currentRow, turnManager.currentColumn);
                chessArray[row, col]      = (int)chessman;
                turnManager.color         = chessman;
                turnManager.currentColumn = col;
                turnManager.currentRow    = row;
            }
            else
            {
                turnManager.color         = chessman;
                turnManager.currentColumn = col;
                turnManager.currentRow    = row;
                chessArray[row, col]      = (int)chessman;
            }

            //checkStatus(row,col, chessArray[row, col]);
        }
Ejemplo n.º 4
0
        private void InviteBottom_Click(object sender, RoutedEventArgs e)
        {
            User user = dataGrid_ListedUsers.SelectedItem as User;

            if (user == null)
            {
                return;
            }

            sendToServer(mySocket.LocalEndPoint.ToString() + "/Invite/" + user.IP);
            dataGrid_ListedUsers.Items.Remove(user);
            user.Player = "White";
            dataGrid_ListedUsers.Items.Add(user);
            myColor = CHESSMAN.BLACK;
            rival   = user.IP;
            ShowMsg("Me/Invite/" + user.IP);
        }
Ejemplo n.º 5
0
        void readAndShowMessage(string msg)
        {
            ShowMsg(msg);

            if (msg.Contains('/'))
            {
                string[] splitresult = msg.Split('/');
                if (splitresult != null && splitresult.Length >= 2)
                {
                    if (splitresult[1] == "A")
                    {
                        int  index = dataGrid_ListedUsers.Items.Count;
                        User user  = new User {
                            No = (index + 1).ToString(), IP = splitresult[2], Name = "Guest" + (index + 1).ToString(), Player = " "
                        };
                        dataGrid_ListedUsers.Items.Add(user);
                    }
                    else if (splitresult[1] == "ChatRoom")
                    {
                        myDialogtextBox.Inlines.Add(msg + "\r\n");
                    }
                    else if (splitresult[1] == "Invite" && myColor == CHESSMAN.NOTHING)
                    {
                        foreach (User user in dataGrid_ListedUsers.Items)
                        {
                            if (user.IP == splitresult[0])
                            {
                                dataGrid_ListedUsers.Items.Remove(user);
                                user.Player = "Black";
                                dataGrid_ListedUsers.Items.Add(user);
                                myColor = CHESSMAN.WHITE;
                                rival   = splitresult[0];
                                break;
                            }
                        }
                    }
                    else if (splitresult[1] == "ChessAdded")
                    {
                        int row    = int.Parse(splitresult[3]);
                        int column = int.Parse(splitresult[4]);
                        if (myColor == CHESSMAN.WHITE)
                        {
                            newChessAdded(row, column, CHESSMAN.BLACK);
                        }
                        else
                        {
                            newChessAdded(row, column, CHESSMAN.WHITE);
                        }
                    }
                    else if (splitresult[0] == "Remove")
                    {
                        foreach (User user in dataGrid_ListedUsers.Items)
                        {
                            if (user.IP == splitresult[1])
                            {
                                dataGrid_ListedUsers.Items.Remove(user);
                                break;
                            }
                        }
                    }
                }
            }
        }