package model.Elements.Extinguisher; import model.Board.Board; import model.Elements.ModelElement; import util.Neighbour; import util.Position; import java.util.ArrayList; import java.util.List; public class Cloud extends Extinguisher { public Cloud(Position position) { super(position); element = ModelElement.CLOUD; } public List<Position>update(Board<List<ModelElement>> firefighterBoard){ this.neighbour = new Neighbour(firefighterBoard); List<Position> modifiedPositions = new ArrayList<>(); Position currentPosition = this.getPosition(); Position newPosition = this.neighbour.randomNeighbor(currentPosition); this.setPosition(newPosition); modifiedPositions.add(currentPosition); modifiedPositions.add(newPosition); extinguish(firefighterBoard,newPosition); for (Position neighbor : this.neighbour.getNeighbors().get(newPosition)) { extinguish(firefighterBoard,neighbor); modifiedPositions.add(neighbor); } return modifiedPositions; } }