From 24dffc766bb2fc97ed7e75ec754682f053d07beb Mon Sep 17 00:00:00 2001 From: b22015516 <mehdi.belhachemi@etu.univ-amu.fr> Date: Fri, 8 Nov 2024 12:11:29 +0100 Subject: [PATCH] mmehdi : finished FirefighterBoard.java --- src/main/java/model/FirefighterBoard.java | 16 ++++++++++------ src/main/java/util/TargetStrategy.java | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index ae9de07..9922db3 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -115,14 +115,18 @@ public class FirefighterBoard implements Board<List<ModelElement>> { private List<Position> updateFirefighters() { List<Position> modifiedPosition = new ArrayList<>(); - List<Position> firefighterNewPositions = new ArrayList<>(); - for (FireFighter firefighterPosition : firefighter) { + List<FireFighter> firefighters = new ArrayList<>(); + List<Position> firePositions = new ArrayList<>(); + for(Fire fire: fire){ + firePositions.add(fire.getFirePosition()); + } + for (FireFighter firefighter: firefighter) { Position newFirefighterPosition = - targetStrategy.neighborClosestToFire(firefighterPosition, + targetStrategy.neighborClosestToFire(firefighter.getFireFighterPosition(), firePositions, neighbors); - firefighterNewPositions.add(newFirefighterPosition); + firefighters.add(firefighter); extinguish(newFirefighterPosition); - modifiedPosition.add(firefighterPosition.getFireFighterPosition()); + modifiedPosition.add(firefighter.getFireFighterPosition()); modifiedPosition.add(newFirefighterPosition); List<Position> neighborFirePositions = neighbors.get(newFirefighterPosition).stream() .filter(firePositions::contains).toList(); @@ -130,7 +134,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { extinguish(firePosition); modifiedPosition.addAll(neighborFirePositions); } - firefighterPositions = firefighterNewPositions; + firefighter = firefighters; return modifiedPosition; } diff --git a/src/main/java/util/TargetStrategy.java b/src/main/java/util/TargetStrategy.java index 071869c..7ebc6c1 100644 --- a/src/main/java/util/TargetStrategy.java +++ b/src/main/java/util/TargetStrategy.java @@ -12,7 +12,7 @@ public class TargetStrategy { * @param targets positions that are targeted. * @return the position next to the current position that is on the path to the closest target. */ - Position neighborClosestToFire(Position position, Collection<Position> targets, + public Position neighborClosestToFire(Position position, Collection<Position> targets, Map<Position,List<Position>>neighbors) { Set<Position> seen = new HashSet<Position>(); HashMap<Position, Position> firstMove = new HashMap<Position, Position>(); -- GitLab