コード例 #1
0
ファイル: aliado.py プロジェクト: UFMG-Autobotz/AutoGoal-UFMG
 def encontra_posicao_goleiro_novo(self, campo, bola):
     self.orientacaoDesejada = Vetor.unitario(math.pi/2)
     self.posDesejada.x = campo.get_gol(self.lado).centro().x
     self.posDesejada.y = bola.get_pos().y
     if (self.posDesejada.y < campo.minLgol):
         self.posDesejada.y = campo.minLgol
     if (self.posDesejada.y > campo.maxLgol):
         self.posDesejada.y = campo.maxLgol
コード例 #2
0
ファイル: aliado.py プロジェクト: UFMG-Autobotz/AutoGoal-UFMG
    def encontra_posicao_goleiro(self, campo, bola, adversario):
        self.orientacaoDesejada = Vetor.unitario(math.pi/2) # orientacao paralela a linha do gol
        self.posDesejada.x = campo.get_gol(self.lado).centro().x # no eixo x, centro do gol

        reta = Reta(adversario.get_pos(), bola.get_pos()) #reta que liga o adversario a bola
        if (reta.e_funcao_de_x()): # se a reta for funcao de x
            self.posDesejada.y = reta.encontra_y(self.posDesejada.x) # encontra o prolongamento da reta
        else: # se a reta for paralela a linha do gol
            self.posDesejada.y = self.pos.y # nao se move no eixo y

       #garante que o goleiro fique na frente do gol
        if (self.posDesejada.y < campo.minLgol):
            self.posDesejada.y = campo.minLgol
        if (self.posDesejada.y > campo.maxLgol):
            self.posDesejada.y = campo.maxLgol

        print "posicao desejada - x: %s, y: %s / orientacao desejada: %s" % (self.posDesejada.x, self.posDesejada.y, self.orientacaoDesejada.angulo())