示例#1
0
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)
示例#2
0
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)
示例#3
0
def fTestOffender(team):
    return ["fTestOffender"] + Roles.rOffender(team)