public void findBishopMovesAlongDiagonal(ArrayList<Move> legalMoves,int row, int col,
			int rowDirection, int colDirection) {
		

		Piece piece = boardController.getPieceByCoords(row, col);
		boolean isBlocked = false;
		Move move;
		int i = 1;
		int newRow = row + (rowDirection * i);
		int newCol = col + (colDirection * i);

		while (!isBlocked && (newRow < 8 && newRow >= 0)
				&& (newCol < 8 && newCol >= 0)) {
			move = null;
			if (isEmptySquare(newRow, newCol)) {
				move = new Move(piece, row, col, newRow, newCol);
			} else if (isEnemyPiece(piece, newRow, newCol)) {
				move = new Move(piece, row, col, newRow, newCol);
				isBlocked = true;
			}
			// If the square is not empty and it does not hold an enemy piece,
			// it must hold our piece. Our own piece will block us from moving
			// any farther in this direction
			else
				isBlocked = true;

			if (move != null
					&& RuleEngine.isNotSelfCheck(move, boardController)) {
				legalMoves.add(move);
			}
			i++;
			newRow = row + i * rowDirection;
			newCol = col + i * colDirection;
		}

		
	}