From b69ca2e82de898bc89a937f6dc7f16441910cbfc Mon Sep 17 00:00:00 2001 From: Celia AREZKI <celia.arezki.1@etu.univ-amu.fr> Date: Sun, 17 Nov 2024 20:44:00 +0100 Subject: [PATCH] FirefighterBoard : modify the constructor --- src/main/java/model/FireManager.java | 1 + src/main/java/model/FirefighterBoard.java | 32 ++++++++++++++++------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/main/java/model/FireManager.java b/src/main/java/model/FireManager.java index 778cf81..b353713 100644 --- a/src/main/java/model/FireManager.java +++ b/src/main/java/model/FireManager.java @@ -39,6 +39,7 @@ public class FireManager implements FireBehavior, FireProperties{ firePositions.remove(position); } // Query if a position is on fire + @Override public boolean isOnFire(Position position) { return firePositions.contains(position); } diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index 6398ec5..9838955 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -10,22 +10,32 @@ public class FirefighterBoard implements Board<List<ModelElement>> { private final int rowCount; private final int initialFireCount; private final int initialFirefighterCount; - private final TargetStrategy targetStrategy = new TargetStrategy(); + + private final FireManager fireManager; + private final FirefighterManager firefighterManager; private List<Position> firefighterPositions; private Set<Position> firePositions; - private Map<Position, List<Position>> neighbors = new HashMap(); private final Position[][] positions; private int step = 0; + private final Map<Position, List<Position>> neighbors = new HashMap<>(); private final Random randomGenerator = new Random(); public FirefighterBoard(int columnCount, int rowCount, int initialFireCount, int initialFirefighterCount) { this.columnCount = columnCount; this.rowCount = rowCount; + this.initialFireCount = initialFireCount; + this.initialFirefighterCount = initialFirefighterCount; + + // Initialize positions this.positions = new Position[rowCount][columnCount]; - for (int column = 0; column < columnCount; column++) - for (int row = 0; row < rowCount; row++) + for (int column = 0; column < columnCount; column++) { + for (int row = 0; row < rowCount; row++) { positions[row][column] = new Position(row, column); - for (int column = 0; column < columnCount; column++) + } + } + + // 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]); @@ -34,8 +44,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> { if (column < columnCount - 1) list.add(positions[row][column + 1]); neighbors.put(positions[row][column], list); } - this.initialFireCount = initialFireCount; - this.initialFirefighterCount = initialFirefighterCount; + } + + // Initialize managers + this.fireManager = new FireManager(new HashSet<>()); + this.firefighterManager = new FirefighterManager(new ArrayList<>(), fireManager); + initializeElements(); } @@ -99,7 +113,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { return step; } - private List<Position> updateFirefighters() { + /* private List<Position> updateFirefighters() { List<Position> modifiedPosition = new ArrayList<>(); List<Position> firefighterNewPositions = new ArrayList<>(); for (Position firefighterPosition : firefighterPositions) { @@ -118,7 +132,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { } firefighterPositions = firefighterNewPositions; return modifiedPosition; - } + }*/ @Override public void reset() { -- GitLab