public static ArrayList<Position> getReachablePosition(GameBoard board, int col, int row, boolean defend)
	{
		Piece p = board.getPiece(Position.get(col, row));
		switch (p.getType())
		{
		case Piece.ROOK:
			return getReachableRookPosition(board, p, col, row, defend);
		case Piece.KNIGHT:
			return getReachableKnightPosition(board, p, col, row, defend);
		case Piece.BISHOP:
			return getReachableBishopPosition(board, p, col, row, defend);
		case Piece.KING:
			return getReachableKingPosition(board, p, col, row, defend);
		case Piece.QUEEN:
			return getReachableQueenPosition(board, p, col, row, defend);
		default:
			return getReachablePawnPosition(board, p, col, row, defend);
		}

	}