private void AvailableUpLeft(Point coord, ref List <Point> PiecesToConvert) { Queue <Point> pieceQueue = new Queue <Point>(); bool foundPlayerPiece = false; GameManager.Piece pieceToCheck = (gameManager.Turn == GameManager.GameTurn.Player) ? GameManager.Piece.White : GameManager.Piece.Black; if (coord.X != 0 && coord.Y != board.Size - 1) { for (int newX = coord.X - 1, newY = coord.Y + 1; newX >= 0 && newY < board.Size - 1; newX--, newY++) { if (gameManager.pieces[newX][newY].Equals(GameManager.Piece.None)) { return; } else if (gameManager.pieces[newX][newY].Equals(pieceToCheck)) { foundPlayerPiece = true; break; } else { pieceQueue.Enqueue(new Point(newX, newY)); } } if (foundPlayerPiece) { while (pieceQueue.Count > 0) { PiecesToConvert.Add(pieceQueue.Dequeue()); } } } }
private void AvailableDown(Point coord, ref List <Point> PiecesToConvert) { Queue <Point> pieceQueue = new Queue <Point>(); bool foundPlayerPiece = false; GameManager.Piece pieceToCheck = (gameManager.Turn == GameManager.GameTurn.Player) ? GameManager.Piece.White : GameManager.Piece.Black; if (coord.Y != 0) { for (int newY = coord.Y - 1; newY >= 0; newY--) { if (gameManager.pieces[coord.X][newY].Equals(GameManager.Piece.None)) { return; } else if (gameManager.pieces[coord.X][newY].Equals(pieceToCheck)) { foundPlayerPiece = true; break; } else { pieceQueue.Enqueue(new Point(coord.X, newY)); } } if (foundPlayerPiece) { while (pieceQueue.Count > 0) { PiecesToConvert.Add(pieceQueue.Dequeue()); } } } }