diff --git a/src/main/java/model/FireManager.java b/src/main/java/model/FireManager.java index e9fd63c24e88f3cb467aab63845422d4415ed7da..9569b44f841103552a3cbfbe973b734f7a813c3d 100644 --- a/src/main/java/model/FireManager.java +++ b/src/main/java/model/FireManager.java @@ -2,8 +2,7 @@ package model; import util.Position; -import java.util.Random; -import java.util.Set; +import java.util.*; public class FireManager { private Set<Position> firePositions; @@ -18,4 +17,18 @@ public class FireManager { firePositions.add(new Position(random.nextInt(rowCount), random.nextInt(columnCount))); } } + public List<Position> updateFires(int step, Map<Position, List<Position>> neighbors) { + List<Position> newFirePositions = new ArrayList<>(); + if (step % 2 == 0) { // Fires spread every other step + for (Position fire : firePositions) { + for (Position neighbor : neighbors.get(fire)) { + if (!firePositions.contains(neighbor)) { + newFirePositions.add(neighbor); + } + } + } + firePositions.addAll(newFirePositions); + } + return newFirePositions; + } }