def fAttack(team): """ Formation for one missing field player """ # gets teammate that is chaser (could be me) chaser_mate = team.determineChaser() # if i am chaser if chaser_mate.playerNumber == team.brain.my.playerNumber: team.me.role = PBConstants.CHASER return ["fOneDown"] + Roles.rChaser(team) other_teammates = team.getNonChaserTeammates(chaser_mate) # get fellow teammate who isn't chaser for mate in other_teammates: if not mate.inactive: otherMate = mate else: mate.role = PBConstants.DEFENDER midInfo = Roles.rMiddie(team) midPlayer = team.determineSupporter([otherMate], midInfo) if midPlayer.playerNumber == team.brain.my.playerNumber: return ["fOneDownAttack"] + midInfo return ["fOneDownAttack"] + Roles.rOffender(team)
def fSpread(team): # gets teammate that is chaser (could be me) chaser_mate = team.determineChaser() chaser_mate.role = PBConstants.CHASER # if i am chaser if chaser_mate.playerNumber == team.brain.my.playerNumber: return ["fSpread"] + Roles.rChaser(team) # We now figure out the roles of non-chasers posPlayers = team.getNonChaserTeammates(chaser_mate) # Get where the defender should be defInfo = Roles.rDefender(team) defPlayer = team.determineSupporter(posPlayers, defInfo) if defPlayer.playerNumber == team.brain.my.playerNumber: return ["fSpread"] + defInfo return ["fSpread"] + Roles.rOffender(team)
def fTestOffender(team): return ["fTestOffender"] + Roles.rOffender(team)