本文整理汇总了Python中ChaseBallTransitions.shouldStopAndKick方法的典型用法代码示例。如果您正苦于以下问题:Python ChaseBallTransitions.shouldStopAndKick方法的具体用法?Python ChaseBallTransitions.shouldStopAndKick怎么用?Python ChaseBallTransitions.shouldStopAndKick使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ChaseBallTransitions
的用法示例。
在下文中一共展示了ChaseBallTransitions.shouldStopAndKick方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: positionForKick
# 需要导入模块: import ChaseBallTransitions [as 别名]
# 或者: from ChaseBallTransitions import shouldStopAndKick [as 别名]
def positionForKick(player):
"""
State to align on the ball once we are near it
"""
if player.firstFrame():
kick = player.brain.kickDecider.getKick()
if kick is None:
player.angleToOrbit = player.brain.kickDecider.kickInfo.orbitAngle
return player.goLater('orbitBall')
player.inKickingState = True
if transitions.shouldKickNow(player):
return player.goLater('kickBallExecute')
player.brain.nav.kickPosition(kick)
player.brain.tracker.trackBall()
# Leave this state if necessary
if transitions.shouldStopAndKick(player):
return player.goLater('preKickStop')
if player.brain.tracker.activeLocOn:
if transitions.shouldScanFindBallActiveLoc(player):
player.inKickingState = False
return player.goLater('scanFindBall')
elif transitions.shouldScanFindBallKick(player):
player.inKickingState = False
return player.goLater('scanFindBall')
elif transitions.shouldSpinToKick(player):
return player.goLater('spinToKick')
if transitions.shouldChaseFromPositionForKick(player):
player.inKickingState = False
return player.goLater('chase')
if not player.brain.play.isRole(GOALIE):
if transitions.shouldDribble(player):
return player.goLater('dribble')
if player.brain.nav.isStopped():
kick = player.brain.kickDecider.getKick()
player.brain.nav.kickPosition(kick)
return player.stay()