def determineRole(player): if not player.roleSwitching: return player.goLater(player.gameState) openSpaces = [True, True, True, True] for mate in player.brain.teamMembers: if mate.playerNumber == player.brain.playerNumber: continue if not roleConstants.isGoalie(mate.role) \ and mate.frameSinceActive < 30: openSpaces[mate.role - 2] = False position = 0 for i in range(4): if openSpaces[i] and roleConstants.canRoleSwitchTo(i + 2): roleConstants.setRoleConstants(player, i + 2) return player.goLater(player.gameState) elif openSpaces[i]: position = i + 2 if position == 0: print "Came out of penalty and found no open spaces!!!" roleConstants.setRoleConstants(player, i + 2) return player.goLater(player.gameState)
def determineRole(player): if not player.roleSwitching: return player.goLater(player.gameState) openSpaces = [True, True, True, True] for mate in player.brain.teamMembers: if mate.playerNumber == player.brain.playerNumber: continue if not roleConstants.isGoalie(mate.role) \ and mate.frameSinceActive < 30: openSpaces[mate.role - 2] = False position = 0 for i in range(4): if openSpaces[i] and roleConstants.canRoleSwitchTo(i+2): roleConstants.setRoleConstants(player, i+2) return player.goLater(player.gameState) elif openSpaces[i]: position = i+2 if position == 0: print "Came out of penalty and found no open spaces!!!" roleConstants.setRoleConstants(player, i+2) return player.goLater(player.gameState)
def switchRoles(player): """ State to decide who on the team should become the new chaser and switch accordingly. """ roleConstants.setRoleConstants(player, player.openChaser) return player.goLater(player.gameState)
def checkForConsistency(player): """ Checks to see if anyone else has the same role as us. If they also have a lower playerNumber then we change. Otherwise we assume that they will fix the issue. Very similar in structure to determineRole in penalty states. """ if not player.roleSwitching: return openSpaces = [True, True, True, True] conflict = False position = 0 for mate in player.brain.teamMembers: if mate.playerNumber == player.brain.playerNumber: continue openSpaces[mate.role - 2] = False if mate.role == player.role and mate.playerNumber > player.brain.playerNumber and mate.frameSinceActive < 30: conflict = True if not conflict: return # The expected outcome for i in range(3): if openSpaces[i] and constants.canRoleSwitchTo(i + 2): constants.setRoleConstants(player, i + 2) return elif openSpaces[i]: position = i + 2 if position == 0: print "We have conflicting role AND there are no more open roles..." constants.setRoleConstants(player, position) return
def switchRoles(player): """ State to decide who on the team should become the new chaser and switch accordingly. """ # US Open Hack if player.brain.game: oppTeam = player.brain.game.team(1).team_number else: oppTeam = -1 roleConstants.setRoleConstants(player, player.openChaser, oppTeam) return player.goLater(player.gameState)
def commMonitor(player): if player.commMode == -1: pass elif player.commMode != 2 and transitions.awfulComm(player): print "Switched to awful comm mode!" player.role = player.brain.playerNumber player.prevRoleConfig = RoleConstants.roleConfiguration RoleConstants.roleConfiguration = RoleConstants.spread RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = False player.commMode = 2
def checkForConsistency(player): """ Checks to see if anyone else has the same role as us. If they also have a lower playerNumber then we change. Otherwise we assume that they will fix the issue. Very similar in structure to determineRole in penalty states. """ if not player.roleSwitching: return openSpaces = [True, True, True, True] conflict = False position = 0 for mate in player.brain.teamMembers: if mate.playerNumber == player.brain.playerNumber: continue openSpaces[mate.role - 2] = False if mate.role == player.role \ and mate.playerNumber > player.brain.playerNumber \ and mate.frameSinceActive < 30: conflict = True if not conflict: return # The expected outcome for i in range(3): if openSpaces[i] and constants.canRoleSwitchTo(i + 2): # US Open Hacks if player.brain.game: oppTeam = player.brain.game.team(1).team_number else: oppTeam = -1 constants.setRoleConstants(player, i + 2, oppTeam) return elif openSpaces[i]: position = i + 2 if position == 0: print "We have conflicting role AND there are no more open roles..." # US Open Hacks if player.brain.game: oppTeam = player.brain.game.team(1).team_number else: oppTeam = -1 constants.setRoleConstants(player, position, oppTeam) return
def commMonitor(player): if player.commMode == -1: pass elif player.commMode != 2 and transitions.awfulComm(player): print "Switched to awful comm mode!" player.role = player.brain.playerNumber player.prevRoleConfig = RoleConstants.roleConfiguration RoleConstants.roleConfiguration = RoleConstants.cautious RoleConstants.oddDefenderBox = RoleConstants.oddDefenderBoxCautious RoleConstants.evenDefenderBox = RoleConstants.evenDefenderBoxCautious RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = False player.commMode = 2 elif player.commMode != 1 and transitions.mediocreComm(player): print "Switched to mediocre comm mode!" player.role = player.brain.playerNumber if player.commMode == 2: RoleConstants.roleConfiguration = player.prevRoleConfig RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = False player.commMode = 1 elif player.commMode != 0 and transitions.goodComm(player): print "Switched to good comm mode!" player.role = player.brain.playerNumber if player.commMode == 2: RoleConstants.roleConfiguration = player.prevRoleConfig RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = True player.commMode = 0
def commMonitor(player): if player.commMode == -1: pass elif player.commMode != 0 and player.brain.game.have_remote_gc: print "Switched to good comm mode because we are on the GC BABAY!" player.role = player.brain.playerNumber if player.commMode == 2: RoleConstants.roleConfiguration = player.prevRoleConfig RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = True player.commMode = 0 elif not player.brain.game.have_remote_gc and player.commMode != 2 and transitions.awfulComm( player): print "Switched to awful comm mode!" player.role = player.brain.playerNumber player.prevRoleConfig = RoleConstants.roleConfiguration RoleConstants.roleConfiguration = RoleConstants.spread RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = False player.commMode = 2 elif not player.brain.game.have_remote_gc and player.commMode != 1 and transitions.mediocreComm( player): print "Switched to mediocre comm mode!" player.role = player.brain.playerNumber if player.commMode == 2: RoleConstants.roleConfiguration = player.prevRoleConfig RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = False player.commMode = 1 elif player.commMode != 0 and transitions.goodComm(player): print "Switched to good comm mode!" player.role = player.brain.playerNumber if player.commMode == 2: RoleConstants.roleConfiguration = player.prevRoleConfig RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = True player.commMode = 0
def commMonitor(player): if player.commMode == -1: pass elif player.commMode != 0 and player.brain.game.have_remote_gc: print "Switched to good comm mode because we are on the GC BABAY!" player.role = player.brain.playerNumber if player.commMode == 2: RoleConstants.roleConfiguration = player.prevRoleConfig RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = True player.commMode = 0 elif not player.brain.game.have_remote_gc and player.commMode != 2 and transitions.awfulComm(player): print "Switched to awful comm mode!" player.role = player.brain.playerNumber player.prevRoleConfig = RoleConstants.roleConfiguration RoleConstants.roleConfiguration = RoleConstants.spread RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = False player.commMode = 2 elif not player.brain.game.have_remote_gc and player.commMode != 1 and transitions.mediocreComm(player): print "Switched to mediocre comm mode!" player.role = player.brain.playerNumber if player.commMode == 2: RoleConstants.roleConfiguration = player.prevRoleConfig RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = False player.commMode = 1 elif player.commMode != 0 and transitions.goodComm(player): print "Switched to good comm mode!" player.role = player.brain.playerNumber if player.commMode == 2: RoleConstants.roleConfiguration = player.prevRoleConfig RoleConstants.oddDefenderBox = RoleConstants.defenderBox RoleConstants.evenDefenderBox = RoleConstants.defenderBox RoleConstants.setRoleConstants(player, player.role) player.roleSwitching = True player.commMode = 0