def getAction(self, state, agentIndex):
# print len(state.data.agentStates)
neighbors = Actions.getPossibleNeighborActions(state.data.agentStates[0].getPosition(), 1.0, state.data.layout.obstacles)
#print "neighbors", neighbors
nearestPursuer = None
distanceToPursuer = 999
maxDistance = 0
maxNeighbors = []
for j in range(1, len(state.data.agentStates)):
distance = manhattanDistance(state.data.agentStates[0].getPosition(), state.data.agentStates[j].getPosition())
if distance < distanceToPursuer:
nearestPursuer = state.data.agentStates[j].getPosition()
distanceToPursuer = distance
"""
for i in range(len(neighbors)):
distance = manhattanDistance(neighbors[i], nearestPursuer)
if distance > maxDistance:
maxNeighbors = []
maxNeighbors.append(neighbors[i])
maxDistance = distance
if distance == maxDistance:
maxNeighbors.append(neighbors[i])
import random
random.shuffle(maxNeighbors)
return maxNeighbors[0]
"""
for i in range(len(neighbors)):
distance = manhattanDistance(neighbors[i], nearestPursuer)
if distance > maxDistance:
maxNeighbors = []
maxNeighbors.append(neighbors[i])
maxDistance = distance
if distance == maxDistance:
maxNeighbors.append(neighbors[i])
return maxNeighbors[0]
评论列表
文章目录