From 05d32500b27db57d97d56af0a5b2fb5acfebfaaa Mon Sep 17 00:00:00 2001 From: snsd0805 Date: Tue, 9 Apr 2024 15:36:35 +0800 Subject: [PATCH] feat: add capsule score in evaluation --- multiAgents.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/multiAgents.py b/multiAgents.py index 1147645..03b8fbc 100644 --- a/multiAgents.py +++ b/multiAgents.py @@ -72,12 +72,12 @@ class ReflexAgent(Agent): newPos = successorGameState.getPacmanPosition() newFood = successorGameState.getFood() newGhostStates = successorGameState.getGhostStates() - newScaredTimes = [ghostState.scaredTimer for ghostState in newGhostStates] "*** YOUR CODE HERE ***" ans = successorGameState.getScore() - AVOID_GHOST_SCORE = 10 + AVOID_GHOST_SCORE = 25 EAT_FOOD_SCORE = 20 + EAT_CAPSULE_SCORE = 70 nearest_ghost_distance = 1e9 for ghostState in newGhostStates: @@ -88,13 +88,17 @@ class ReflexAgent(Agent): for foodPos in newFood.asList(): nearest_food_distance = min(nearest_food_distance, util.manhattanDistance(foodPos, newPos)+1) + nearest_capsule_distance = 1e9 + for capsulePos in successorGameState.getCapsules(): + nearest_capsule_distance = min(nearest_capsule_distance, util.manhattanDistance(capsulePos, newPos)+1) + ans -= AVOID_GHOST_SCORE * (1/nearest_ghost_distance) ans += EAT_FOOD_SCORE * (1/nearest_food_distance) + if nearest_capsule_distance != 1e9: + ans += EAT_CAPSULE_SCORE * (1/nearest_capsule_distance) + else: + ans += 500 - - - - return ans return successorGameState.getScore()