def on_press(event): if (event.dblclick): print("Double click registered") best = find_best() inter = find_intermediate(geo.Point(best[0], best[1])) plt.plot(best[0], best[1], '*') plt.plot(inter[0], inter[1], '*')
def cost_function(self, xpoint, ypoint): score = 0 if main_field.in_defense_area(xpoint, ypoint) or not world.can_reach(geo.Point(xpoint, ypoint), geo.Point(field.rightx, 0)): score = 300 return [score] bot, dist = world.their_closest_robot_to_point(xpoint, ypoint) score += -100 * dist ourbot, ourdist = world.our_closest_robot_to_point(xpoint, ypoint) score += 100 * ourdist shoot_succes_reward = bot.shoot_from_pos(xpoint, ypoint) score += -shoot_succes_reward * 2 score += field.distance_to_enemy_goal(field, xpoint, ypoint) return [score]
def __init__(self, x, y, vel, circle): self.x = x self.y = y self.vel = vel self.circle = circle self.press = None self.robot_field = field() self.center = geo.Point(self.x, self.y) self.intercept_radius = 0.5 self.intercept_circle = geo.Circle(self.center, self.intercept_radius)
def on_release(self, event): 'on release we reset the press data' self.x = self.circle.center[0] self.y = self.circle.center[1] self.center = geo.Point(self.x, self.y) self.intercept_radius = 0.5 self.intercept_circle = geo.Circle(self.center, self.intercept_radius) self.press = None self.circle.figure.canvas.draw()
def cost_function(self, xpoint, ypoint): score = 0 candidate_point = geo.Point(xpoint, ypoint) intermediate_can_reach_desired = world.can_reach(candidate_point, self.desired_point) start_can_reach_intermediate = world.can_reach(self.start_point, candidate_point) if main_field.in_defense_area(xpoint, ypoint) or not start_can_reach_intermediate or not intermediate_can_reach_desired: score = 300 return [score] bot, dist = world.their_closest_robot_to_point(xpoint, ypoint) score += -100 * dist ourbot, ourdist = world.our_closest_robot_to_point(xpoint, ypoint) score += 100 * ourdist shoot_succes_reward = bot.shoot_from_pos(xpoint, ypoint) score += -shoot_succes_reward * 2 score += field.distance_to_enemy_goal(field, xpoint, ypoint) return [score]
def __init__(self, name, desired_point): self.name = name self.dim = 2 self.desired_point = desired_point self.start_point = geo.Point(world.ball.x, world.ball.y)