def goalieSpinToPosition(player): nav = player.brain.nav if helper.useFarPosition(player): player.brain.tracker.activeLoc() else: player.brain.tracker.trackBall() if not nav.atHeading(NogginConstants.OPP_GOAL_HEADING): spinDir = MyMath.getSpinDir(player.brain.my.h, NogginConstants.OPP_GOAL_HEADING) player.setSpeed(0, 0, spinDir*10) return player.stay() else: player.stopWalking() return player.goLater('goaliePosition') return player.stay()
def goaliePositionBallClose(player): nav = player.brain.nav player.brain.tracker.trackBall() #if not nav.atHeading(NogginConstants.OPP_GOAL_HEADING): # return player.goLater('goalieSpinToPosition') if helper.useLeftStrafeCloseSpeed(player): helper.strafeLeftSpeed(player) elif helper.useRightStrafeCloseSpeed(player): helper.strafeRightSpeed(player) else: player.stopWalking() #switch out if we lose the ball for multiple frames if helper.useFarPosition(player): return player.goNow('goaliePositionBallFar') return player.stay()
def goalieOutOfPosition(player): nav = player.brain.nav if helper.useFarPosition(player): player.brain.tracker.activeLoc() else: player.brain.tracker.trackBall() position = player.brain.play.getPosition() if player.firstFrame() or\ nav.destX != position[0] or nav.destY != position[1]: nav.omniGoTo(position) if helper.useClosePosition(player): return player.goLater('goaliePositionBallClose') if nav.isStopped() and player.counter > 0: player.framesFromCenter = 0 player.stepOffCenter = 0 return player.goLater('goaliePosition') return player.stay()