def degagement(self): aimed_pos = random.random() * (40) + 40 random_pos = random.random() * 10 if tools.superstate.team == 1: #return soccersimulator.SoccerAction( acceleration = None, shoot = Vector2D( random.random()*10 , aimed_pos - 80)) return soccersimulator.SoccerAction(acceleration=None, shoot=Vector2D( GAME_WIDTH, random_pos)) else: #return soccersimulator.SoccerAction( acceleration = None, shoot = Vector2D( random.random()*10, aimed_pos)) return soccersimulator.SoccerAction(acceleration=None, shoot=Vector2D( random_pos - 100, random_pos))
def computeAction(self, superstate): shoot = (superstate.nearest_ally.position - superstate.player_pos).normalize() * 6 shoot.angle += (math.pi / 12 * math.copysign( 1, shoot.angle - (superstate.nearest_opp.position - superstate.player_pos).angle)) return soc.SoccerAction(shoot=shoot)
def def_Ramos(self, pos_joueur, pos_ball, pos_cage, vect_vitesse_joueur): vect_ball_cage = pos_ball - pos_cage expected_pos = vect_ball_cage / 2 + pos_cage #changement d'origine car vect_ball_cage est à y = 0 vect_move = utils.compute_move(pos_joueur, vect_vitesse_joueur, expected_pos) action = soccersimulator.SoccerAction(acceleration=vect_move, shoot=None) return action
def computeAction(self, superstate): if (superstate.player_pos.distance(superstate.ball_pos) < 20): coeff = ( 40 - (superstate.player_pos - superstate.ball_pos).norm) / 20 * 3 else: coeff = 3 return soc.SoccerAction( shoot=((superstate.opp_goal - superstate.player_pos).normalize() * coeff))
def passe(self, pos_joueur, pos_ball, pos_mate, aimed_pos, shoot_poss, pos_cage_adv): puissance_tir = 6 #Si il y a des equipiers et que le shoot est impossible if not shoot_poss: #if tools.superstate.team == 1: #if pos_joueur.x < 2*GAME_HEIGHT/3 : #il fait la passe return self.shoot_aim(pos_joueur, pos_mate, puissance_tir) else: shoot = utils.compute_shoot(pos_joueur, pos_cage_adv, puissance_tir) return soccersimulator.SoccerAction(acceleration=None, shoot=shoot)
def replacement_def(self, pos_joueur, replacement_def): return soccersimulator.SoccerAction(acceleration=replacement_def - pos_joueur)
def avancer_avec_ball(self, pos_joueur, pos_cage_adv, puissance_tir): aimed_pos = pos_cage_adv tir = utils.compute_shoot(aimed_pos, pos_joueur, puissance_tir) return soccersimulator.SoccerAction(acceleration=None, shoot=tir)
def computeAction(self, superstate): return soc.SoccerAction(shoot=(superstate.nearest_ally.position - superstate.player_pos).normalize() * 6)
def get_shoot(self, super_state): if(super_state.can_shoot): return self.compute_shoot(super_state) return soc.SoccerAction()
def replacement_cage_centre(self, pos_joueur, replacement_gardien): if tools.superstate.team == 1: return soccersimulator.SoccerAction( acceleration=replacement_gardien - pos_joueur, shoot=None)
def goal_shoot(self, pos_joueur, pos_cage_adv, puissance_tir): aimed_pos = pos_cage_adv tir = utils.compute_shoot(aimed_pos, pos_joueur, puissance_tir) vect_tir = (aimed_pos - pos_joueur) return soccersimulator.SoccerAction(acceleration=None, shoot=vect_tir)
def computeAction(self, superstate): return soc.SoccerAction(acceleration=(superstate.close_defensive_pos + superstate.ball_pos - superstate.player_pos))
def computeAction(self, superstate): return soc.SoccerAction(acceleration=superstate.vect_play_ball)
def computeAction(self, superstate): shoot = (superstate.ally_corner_far_opp_near_player - superstate.player_pos).normalize() * 4 return soc.SoccerAction(shoot=shoot)
def appel(self, pos_joueur, pos_appel): return soccersimulator.SoccerAction(acceleration=pos_appel - pos_joueur, shoot=None)
def to_ball(self, pos_ball, pos_player): ball = pos_ball player = pos_player return soccersimulator.SoccerAction(acceleration=ball - player, shoot=None)
def shoot_aim(self, pos_joueur, aimed_pos, puissance_tir): tir = utils.compute_shoot(aimed_pos, pos_joueur, puissance_tir) vect_tir = (aimed_pos - pos_joueur) vect_tir_norm = vect_tir.normalize() * puissance_tir return soccersimulator.SoccerAction(acceleration=None, shoot=vect_tir_norm)
def computeAction(self, superstate): return soc.SoccerAction()
def joueur_vers_ball(self, pos_joueur, pos_ball, vect_vitesse_joueur): vect_joueur_ball = pos_ball - pos_joueur #expected_pos = pos_ball #vect_move = utils.compute_move(pos_joueur, vect_vitesse_joueur, expected_pos) return soccersimulator.SoccerAction(acceleration=vect_joueur_ball, shoot=None)
def computeAction(self, superstate): return soc.SoccerAction(acceleration=( superstate.vect_play_ball + superstate.ball_vit * 20 * superstate.coeff_distance))
def joueur_entre_adv(self, pos_joueur, opp, next_opp): expected_pos = opp - next_opp vect_joueur_entre_opp = (expected_pos / 2 - pos_joueur) + next_opp return soccersimulator.SoccerAction(acceleration=vect_joueur_entre_opp, shoot=None)
def computeAction(self, superstate): return soc.SoccerAction( shoot=((superstate.opp_goal - superstate.player_pos).normalize() * 6))
def to_goal(self, pos_ball, pos_player, cage_adv, strength): vect = cage_adv - pos_player vect_norm = vect.normalize() * strength return soccersimulator.SoccerAction(acceleration=None, shoot=vect_norm)