Implement project 4 q1-q5.
This commit is contained in:
@@ -162,5 +162,27 @@ class GreedyBustersAgent(BustersAgent):
|
||||
livingGhostPositionDistributions = \
|
||||
[beliefs for i, beliefs in enumerate(self.ghostBeliefs)
|
||||
if livingGhosts[i+1]]
|
||||
"*** YOUR CODE HERE ***"
|
||||
util.raiseNotDefined()
|
||||
|
||||
def getMaxProbPos(distribution):
|
||||
return max([(prob, pos) for pos, prob in distribution.items()])[1]
|
||||
|
||||
closestGhostPosition = None
|
||||
closestGhostDist = float("inf")
|
||||
for distribution in livingGhostPositionDistributions:
|
||||
ghostPosition = getMaxProbPos(distribution)
|
||||
dist = self.distancer.getDistance(pacmanPosition, ghostPosition)
|
||||
if dist < closestGhostDist:
|
||||
closestGhostPosition = ghostPosition
|
||||
closestGhostDist = dist
|
||||
|
||||
if closestGhostPosition is None:
|
||||
return 'Stop'
|
||||
|
||||
distanceActionTuples = [
|
||||
(self.distancer.getDistance(
|
||||
Actions.getSuccessor(pacmanPosition, action),
|
||||
closestGhostPosition),
|
||||
action)
|
||||
for action in legal]
|
||||
|
||||
return min(distanceActionTuples)[1]
|
||||
|
||||
Reference in New Issue
Block a user