def _get_nearest_opponent_index(self, team_name, team_agent_index):
# Get the opponent team name
opponent_team_name = self.get_opponent_team_name(team_name)
# Get the agent position
agent_index = self.get_agent_index(team_name, team_agent_index)
agent_pos = self.state.get_agent_pos(agent_index)
# Find the nearest opponent position
nearest_opponent_index = None
nearest_dist = math.inf
for opponent_team_agent_index in range(self.options.team_size):
opponent_index = self.get_agent_index(
opponent_team_name, opponent_team_agent_index)
opponent_pos = self.state.get_agent_pos(opponent_index)
# Calculate the distance
dist = self.get_pos_distance(agent_pos, opponent_pos)
if dist < nearest_dist:
nearest_opponent_index = opponent_index
nearest_dist = dist
return nearest_opponent_index
评论列表
文章目录