def get_better_targ(targ_x, targ_y, base_dir):
    """
    :param targ_x: the (base) target x-coordinate
    :param targ_y: the (base) target y-coordinate
    :param base_dir: the direction from the previous step (NESW)
    :rtype: tuple
    :return: (better x target, better y target)
    """
    if base_dir == 180:
        return targ_x + 0.25, targ_y + 0.5
    elif base_dir == 0:
        return targ_x + 0.75, targ_y + 0.5
    elif base_dir == 90:
        return targ_x + 0.5, targ_y + 0.75
    elif base_dir == 270:
        return targ_x + 0.5, targ_y + 0.25