Example #1
0
def fReady(team):
    """kickoff positions"""

    # ready state depends on number of players alive
    inactive_teammates = team.getInactiveFieldPlayers()
    num_inactive_teammates = len(inactive_teammates)

    # if four dogs alive, position normally
    if num_inactive_teammates == 0:
        if team.me.playerNumber == 2:
            return ["fReady", PBConstants.DEFENDER] + SubRoles.pReadyDefender(team)

        elif team.me.playerNumber == 3:
            return ["fReady", PBConstants.CHASER] + SubRoles.pReadyChaser(team)

        # elif team.me.playerNumber == 4:
        else:
            return ["fReady", PBConstants.OFFENDER] + SubRoles.pReadyOffender(team)

    # two dogs alive, alter positions a bit
    elif num_inactive_teammates == 1:
        other_teammate = team.getOtherActiveTeammate()
        if team.me.playerNumber > other_teammate.playerNumber:
            return ["fReady", PBConstants.CHASER] + SubRoles.pReadyTwoChase(team)
        else:
            return ["fReady", PBConstants.DEFENDER] + SubRoles.pReadyStopper(team)
    # just you
    else:
        return ["fReady", PBConstants.CHASER] + SubRoles.pReadyChaser(team)