コード例 #1
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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))
コード例 #2
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 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)
コード例 #3
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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
コード例 #4
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 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))
コード例 #5
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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)
コード例 #6
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 def replacement_def(self, pos_joueur, replacement_def):
     return soccersimulator.SoccerAction(acceleration=replacement_def -
                                         pos_joueur)
コード例 #7
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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)
コード例 #8
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 def computeAction(self, superstate):
     return soc.SoccerAction(shoot=(superstate.nearest_ally.position -
                                    superstate.player_pos).normalize() * 6)
コード例 #9
0
 def get_shoot(self, super_state):
     if(super_state.can_shoot):
         return self.compute_shoot(super_state)
     return soc.SoccerAction()
コード例 #10
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 def replacement_cage_centre(self, pos_joueur, replacement_gardien):
     if tools.superstate.team == 1:
         return soccersimulator.SoccerAction(
             acceleration=replacement_gardien - pos_joueur, shoot=None)
コード例 #11
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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)
コード例 #12
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 def computeAction(self, superstate):
     return soc.SoccerAction(acceleration=(superstate.close_defensive_pos +
                                           superstate.ball_pos -
                                           superstate.player_pos))
コード例 #13
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 def computeAction(self, superstate):
     return soc.SoccerAction(acceleration=superstate.vect_play_ball)
コード例 #14
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 def computeAction(self, superstate):
     shoot = (superstate.ally_corner_far_opp_near_player -
              superstate.player_pos).normalize() * 4
     return soc.SoccerAction(shoot=shoot)
コード例 #15
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 def appel(self, pos_joueur, pos_appel):
     return soccersimulator.SoccerAction(acceleration=pos_appel -
                                         pos_joueur,
                                         shoot=None)
コード例 #16
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 def to_ball(self, pos_ball, pos_player):
     ball = pos_ball
     player = pos_player
     return soccersimulator.SoccerAction(acceleration=ball - player,
                                         shoot=None)
コード例 #17
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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)
コード例 #18
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 def computeAction(self, superstate):
     return soc.SoccerAction()
コード例 #19
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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)
コード例 #20
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 def computeAction(self, superstate):
     return soc.SoccerAction(acceleration=(
         superstate.vect_play_ball +
         superstate.ball_vit * 20 * superstate.coeff_distance))
コード例 #21
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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)
コード例 #22
0
ファイル: action.py プロジェクト: TeoBernier/ProjetSoccer
 def computeAction(self, superstate):
     return soc.SoccerAction(
         shoot=((superstate.opp_goal - superstate.player_pos).normalize() *
                6))
コード例 #23
0
ファイル: actions.py プロジェクト: RiwanD/GitSoccer
 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)