<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def draw_build_target(self, surf):
 """Draw the build target."""

    round_half = lambda v, cond: round(v - 0.5) + 0.5 if cond else round(v)

    queued_action = self._queued_action
    if queued_action:
      radius = queued_action.footprint_radius
      if radius:
        pos = self.get_mouse_pos()
        if pos:
          pos = point.Point(round_half(pos.world_pos.x, (radius * 2) % 2),
                            round_half(pos.world_pos.y, (radius * 2) % 2))
          surf.draw_circle(
              colors.PLAYER_ABSOLUTE_PALETTE[
                  self._obs.observation.player_common.player_id],
              pos, radius)