diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index 9838955c113356a81ed6c9754cbe9e7f7e47f743..24fb0ac26b96a17c638b63447660f771851bb09d 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<>();