diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java new file mode 100644 index 0000000000000000000000000000000000000000..4f9375ab9608aa09ca66f544e496965870c4ebd5 --- /dev/null +++ b/src/main/java/model/Fire.java @@ -0,0 +1,33 @@ +package model; + +import util.Position; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class Fire { + private Set<Position> firePositions; + private Map<Position, List<Position>> neighbors; + + public Fire(Set<Position> firePositions, Map<Position, List<Position>> neighbors) { + this.firePositions = firePositions; + this.neighbors = neighbors; + } + + public Set<Position> getFirePositions() { + return firePositions; + } + + public List<Position> spreadFire() { + List<Position> modifiedPositions = new ArrayList<>(); + List<Position> newFirePositions = new ArrayList<>(); + for (Position fire : firePositions) { + newFirePositions.addAll(neighbors.get(fire)); + } + firePositions.addAll(newFirePositions); + modifiedPositions.addAll(newFirePositions); + return newFirePositions; + } +}