diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index 6613e47b04f38abec1221a73a3fca275f80a3742..bf5d053a00ecac8a5e4c04c6f02c6fc206f53281 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -59,12 +59,16 @@ public class FirefighterBoard implements Board<List<ModelElement>> { public void initializeElements() { - firefighterPositions = new ArrayList<>(); - firePositions = new HashSet<>(); - for (int index = 0; index < initialFireCount; index++) - firePositions.add(randomPosition()); - for (int index = 0; index < initialFirefighterCount; index++) + // Initialize fires + fireManager.initializeFires(initialFireCount, rowCount, columnCount, randomGenerator); + + // Initialize firefighters + List<Position> firefighterPositions = new ArrayList<>(); + for (int index = 0; index < initialFirefighterCount; index++) { firefighterPositions.add(randomPosition()); + } + firefighterManager.getFirefighterPositions().clear(); + firefighterManager.getFirefighterPositions().addAll(firefighterPositions); } private Position randomPosition() { @@ -100,16 +104,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { } private List<Position> updateFires() { - List<Position> modifiedPositions = new ArrayList<>(); - if (step % 2 == 0) { - List<Position> newFirePositions = new ArrayList<>(); - for (Position fire : firePositions) { - newFirePositions.addAll(neighbors.get(fire)); - } - firePositions.addAll(newFirePositions); - modifiedPositions.addAll(newFirePositions); - } - return modifiedPositions; + return fireManager.updateFires(step,neighbors); }