From 7c59a88aae0b866b2e361ecabf2775b1bb3e3746 Mon Sep 17 00:00:00 2001
From: Celia AREZKI <celia.arezki.1@etu.univ-amu.fr>
Date: Sun, 17 Nov 2024 20:46:08 +0100
Subject: [PATCH] FirefighterBoard : add the methode initializePositions()

---
 src/main/java/model/FirefighterBoard.java | 39 +++++++++++++----------
 1 file changed, 23 insertions(+), 16 deletions(-)

diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index 9838955..24fb0ac 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -25,34 +25,41 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
     this.rowCount = rowCount;
     this.initialFireCount = initialFireCount;
     this.initialFirefighterCount = initialFirefighterCount;
-
-    // Initialize positions
     this.positions = new Position[rowCount][columnCount];
+
+
+       initializeNeighbors();
+
+    // Initialize managers
+    this.fireManager = new FireManager(new HashSet<>());
+    this.firefighterManager = new FirefighterManager(new ArrayList<>(), fireManager);
+
+    initializeElements();
+  }
+  private void initializeNeighbors() {
     for (int column = 0; column < columnCount; column++) {
       for (int row = 0; row < rowCount; row++) {
-        positions[row][column] = new Position(row, column);
+        List<Position> list = new ArrayList<>();
+        if (row > 0) list.add(positions[row - 1][column]);        // Voisin du haut
+        if (column > 0) list.add(positions[row][column - 1]);    // Voisin de gauche
+        if (row < rowCount - 1) list.add(positions[row + 1][column]); // Voisin du bas
+        if (column < columnCount - 1) list.add(positions[row][column + 1]); // Voisin de droite
+        neighbors.put(positions[row][column], list);
       }
     }
+  }
+  private void initializePositions()
+  {
+    // Initialize positions
 
-    // Initialize neighbors
     for (int column = 0; column < columnCount; column++) {
       for (int row = 0; row < rowCount; row++) {
-        List<Position> list = new ArrayList<>();
-        if (row > 0) list.add(positions[row - 1][column]);
-        if (column > 0) list.add(positions[row][column - 1]);
-        if (row < rowCount - 1) list.add(positions[row + 1][column]);
-        if (column < columnCount - 1) list.add(positions[row][column + 1]);
-        neighbors.put(positions[row][column], list);
+        positions[row][column] = new Position(row, column);
       }
     }
-
-    // Initialize managers
-    this.fireManager = new FireManager(new HashSet<>());
-    this.firefighterManager = new FirefighterManager(new ArrayList<>(), fireManager);
-
-    initializeElements();
   }
 
+
   public void initializeElements() {
     firefighterPositions = new ArrayList<>();
     firePositions = new HashSet<>();
-- 
GitLab