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