diff --git a/logic/logicPlan.py b/logic/logicPlan.py index b461931..0bcdd73 100644 --- a/logic/logicPlan.py +++ b/logic/logicPlan.py @@ -515,11 +515,25 @@ def mapping(problem, agent) -> Generator: outer_wall_sent.append(PropSymbolExpr(wall_str, x, y)) KB.append(conjoin(outer_wall_sent)) - "*** BEGIN YOUR CODE HERE ***" - util.raiseNotDefined() + KB.append(PropSymbolExpr(pacman_str, pac_x_0, pac_y_0, time=0)) for t in range(agent.num_timesteps): - "*** END YOUR CODE HERE ***" + pacphysics = pacphysicsAxioms(t, all_coords, non_outer_wall_coords, known_map, sensorModel=sensorAxioms,successorAxioms=allLegalSuccessorAxioms) + KB.append(pacphysics) + action_t = agent.actions[t] + KB.append(logic.PropSymbolExpr(action_t, time=t)) + percepts=agent.getPercepts() + percept_rules=fourBitPerceptRules(t,percepts) + KB.append(percept_rules) + for x, y in non_outer_wall_coords: + # Check if (x, y) is a wall + if entails(conjoin(KB), PropSymbolExpr(wall_str, x, y)): + known_map[x][y] = 1 + KB.append(PropSymbolExpr(wall_str, x, y)) + elif entails(conjoin(KB), ~PropSymbolExpr(wall_str, x, y)): + known_map[x][y] = 0 + KB.append(~PropSymbolExpr(wall_str, x, y)) + agent.moveToNextState(action_t) yield known_map #______________________________________________________________________________