def positionForGoalieKick(player): if player.firstFrame(): player.brain.tracker.lookStraightThenTrack() if clearBall.ballSide == RIGHT: player.kick = kicks.RIGHT_SHORT_STRAIGHT_KICK else: player.kick = kicks.LEFT_SHORT_STRAIGHT_KICK ball = player.brain.ball positionForGoalieKick.kickPose = RelRobotLocation(ball.rel_x - player.kick.setupX, ball.rel_y - player.kick.setupY, 0) print("Kickpose:", positionForGoalieKick.kickPose.relX, positionForGoalieKick.kickPose.relY) positionForGoalieKick.speed = nav.GRADUAL_SPEED player.brain.nav.goTo(positionForGoalieKick.kickPose, speed = positionForGoalieKick.speed, precision = nav.CLOSE_ENOUGH) ball = player.brain.ball positionForGoalieKick.kickPose = RelRobotLocation(ball.rel_x - player.kick.setupX, ball.rel_y - player.kick.setupY, 0) player.brain.nav.updateDest(positionForGoalieKick.kickPose) if GoalieTransitions.ballReadyToKick(player, positionForGoalieKick.kickPose): player.brain.nav.stand() print("Kickpose:", positionForGoalieKick.kickPose.relX, positionForGoalieKick.kickPose.relY) return player.goNow('kickBall') return Transition.getNextState(player, positionForGoalieKick)
def positionForGoalieKick(player): if player.firstFrame(): player.brain.tracker.lookStraightThenTrack() if clearBall.ballSide == RIGHT: player.kick = kicks.RIGHT_SHORT_STRAIGHT_KICK else: player.kick = kicks.LEFT_SHORT_STRAIGHT_KICK ball = player.brain.ball positionForGoalieKick.kickPose = RelRobotLocation(ball.rel_x - player.kick.setupX, ball.rel_y - player.kick.setupY, 0) positionForGoalieKick.speed = nav.GRADUAL_SPEED player.brain.nav.goTo(positionForGoalieKick.kickPose, speed = positionForGoalieKick.speed, precision = nav.CLOSE_ENOUGH) ball = player.brain.ball positionForGoalieKick.kickPose = RelRobotLocation(ball.rel_x - player.kick.setupX, ball.rel_y - player.kick.setupY, 0) player.brain.nav.updateDest(positionForGoalieKick.kickPose) if GoalieTransitions.ballReadyToKick(player, positionForGoalieKick.kickPose): player.brain.nav.stand() return player.goNow('kickBall') return Transition.getNextState(player, positionForGoalieKick)