Esempio n. 1
0
 def aller_vers_but(self):
     essai = MyState(self.state, self.idt, self.idp)
     if essai.est_team1():
         return SoccerAction(POS_DEFAUT - essai.my_position,
                             Vector2D(3.14, 20))
     return SoccerAction(POS_DEFAUT2 - essai.my_position,
                         Vector2D(6.18, 20))
Esempio n. 2
0
 def aller_vers_balle_condition(self):
     mystate = MyState(self.state, self.idt, self.idp)
     #if( mystate.est_team1(self)):
     liste_players = self.idt.nb_players  #team1.nb_players
     #else:
     #   liste_players = team2.nb_players
     distance_self = mystate.distance_ball_player
     for player in liste_players:
         distance = mystate.ball_position - mystate.my_position(
             liste_players[player])
         if distance <= mystate.PR_BR:
             return SoccerAction(mystate.en_attente)
     return SoccerAction(mystate.distance_ball_player,
                         Vector2D(angle=3.14, norm=55))
Esempio n. 3
0
 def dribbler(self):
     pos = Position(self.state, self.idt, self.idp)
     mystate = MyState(self.state, self.idt, self.idp)
     liste_adversaire = []
     for i in pos.position_tout_les_joueurs():
         if self.idt == mystate.adv():
             liste_adversaire.append(i)
     for j in range(0, len(liste_adversaire)):
         if (pos.joueur_le_plus_proche(1).x == liste_adversaire[j].x) and (
                 pos.joueur_le_plus_proche(1).y == liste_adversaire[j].y):
             SoccerAction(((liste_adversaire[j]) + Vector2D(10, 0)) -
                          mystate.myposition, Vector2D(angle=0, norm=10))
Esempio n. 4
0
    def passe_test(self, state, id_team, id_player):
        posi = Position(self.state, self.idt, self.idp)
        mystate = MyState(self.state, self.idt, self.idp)
        proche = posi.joueur_le_plus_proche(self)
        joueurlpp = posi.joueur_le_plus_proche()

        #        if Qui_a_la_balle.j_ai_la_balle == True:
        #            #return SoccerAction(proche-mystate.ball_position,Vector2D(angle= 10))
        #            return SoccerAction(state.ball.position-state.player_state(id_team,id_player).position ,\
        #               Vector2D((2-id_team)*settings.GAME_WIDTH,settings.GAME_HEIGHT/2.)-state.ball.position)
        #        else:
        return SoccerAction()  #SoccerAction(mystate.distance_ball_player)
Esempio n. 5
0
 def shoot(self, p):
     return SoccerAction(Vector2D(), p - self.my_position, Vector2D())
Esempio n. 6
0
 def aller(self, p):
     return SoccerAction(p - self.my_position, Vector2D())
Esempio n. 7
0
 def aller_vers_balle(self):
     mystate = MyState(self.state, self.idt, self.idp)
     return SoccerAction(mystate.distance_ball_player,
                         Vector2D(angle=3.14, norm=55))
Esempio n. 8
0
 def pos_attaquant(self):
     return SoccerAction(
         Vector2D(10, GAME_WIDTH - 60) -
         (self.state.player_state(self.idt, self.idp)).position)
Esempio n. 9
0
 def en_attente(self):
     return SoccerAction()
Esempio n. 10
0
def passe(state, id_team, id_player) :
    
    for palyer in [ (it, ip) for (it, ip) in state.players if it == id_team] :
        if (est_demarque(state, it, ip)):
            return SoccerAction (acceleration = Vector2D(0,0), shoot = Vector2D(state.palyer(it, ip).position.x - state.player_state(id_team, id_player).position.x, state.palyer(it, ip).position.y - state.player_state(id_team, id_player).position.y))
    return SoccerAction()
Esempio n. 11
0
def shoot (state, id_team, id_player, X, Y):
    if (id_team == 2):
        return SoccerAction (acceleration = Vector2D(0,0), shoot = Vector2D(-(X - state.player_state(id_team, id_player).position.x), Y - state.player_state(id_team, id_player).position.y))
    if (id_team == 1):
        return SoccerAction (acceleration = Vector2D(0,0), shoot = Vector2D( X - state.player_state(id_team, id_player).position.x, Y - state.player_state(id_team, id_player).position.y))
Esempio n. 12
0
def suivre_ball (state, id_team, id_player):
    return SoccerAction (acceleration = state.ball.position - state.player_state(id_team, id_player).position, shoot = Vector2D(0,0))