Пример #1
0
 def getApproachHeadingFromFront(self):
     ball = self.brain.ball
     my = self.brain.my
     kickDest = KickingHelpers.getShotFarAimPoint(self)
     ballLoc = RobotLocation(ball.x, ball.y, NogginConstants.OPP_GOAL_HEADING)
     ballBearingToKickDest = ballLoc.getRelativeBearing(kickDest)
     if my.y > ball.y:
         destH = ballBearingToKickDest - 90
     else :
         destH = ballBearingToKickDest + 90
     return destH
Пример #2
0
def penaltyKickBall(player):
    ball = player.brain.ball

    if not player.penaltyMadeFirstKick:
        return player.goLater('penaltyKickShortDribble')
        #return player.goLater('kickBallStraightShort')
    if not player.penaltyMadeSecondKick:

        ballLoc = RobotLocation(ball.x, ball.y, NogginConstants.OPP_GOAL_HEADING)

        goalLoc = Location( NogginConstants.OPP_GOAL_MIDPOINT[0],
                            NogginConstants.OPP_GOAL_MIDPOINT[1])

        ballBearingToGoal = ballLoc.getRelativeBearing(goalLoc)

        player.angleToAlign = ballBearingToGoal - player.brain.my.h
        if player.angleToAlign < constants.ALIGN_FOR_KICK_MIN_ANGLE:
            player.bigKick = True
            return player.goLater('kickBallStraight')
        else :
            return player.goLater('alignOnBallStraightKick')
    return player.stay()
Пример #3
0
 def getApproachHeadingFromBehind(self):
     ball = self.brain.ball
     aimPoint = KickingHelpers.getShotFarAimPoint(self)
     ballLoc = RobotLocation(ball.x, ball.y, NogginConstants.OPP_GOAL_HEADING)
     ballBearingToGoal = ballLoc.getRelativeBearing(aimPoint)
     return ballBearingToGoal