from agent.Base_Agent import Base_Agent as Agent # Args: Server IP, Agent Port, Monitor Port, Uniform No., Robot Type, Team Name player = Agent("localhost", 3100, 3200, 7, 4, "TeamName") w = player.world def kick(self, kick_direction=None, kick_distance=None, abort=False, enable_pass_command=False): ''' Walk to ball and kick Parameters ---------- kick_direction : float kick direction, in degrees, relative to the field kick_distance : float kick distance in meters abort : bool True to abort. The method returns True upon successful abortion, which is immediate while the robot is aligning itself. However, if the abortion is requested during the kick, it is delayed until the kick is completed. avoid_pass_command : bool When False, the pass command will be used when at least one opponent is near the ball Returns ------- finished : bool Returns True if the behavior finished or was successfully aborted. ''' if self.min_opponent_ball_dist < 1.45 and enable_pass_command: self.scom.commit_pass_command() self.kick_direction = self.kick_direction if kick_direction is None else kick_direction self.kick_distance = self.kick_distance if kick_distance is None else kick_distance if self.fat_proxy_cmd is None: # normal behavior return self.behavior.execute("Basic_Kick", self.kick_direction, abort) # Basic_Kick has no kick distance control else: # fat proxy behavior return self.fat_proxy_kick() while True: player.behavior.execute("Nerul_Kick", True, 0) player.scom.commit_and_send(w.robot.get_command()) player.scom.receive()