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); }
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!"); } } }
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]); }
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); }
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; } } } } } }