diff --git a/src/main/java/model/BoardFireFighterBehavior.java b/src/main/java/model/BoardFireFighterBehavior.java index e487a86dafc0df922bbcbdf9f5374f8fc856125d..9030224000ee5f7ff0d2b5ac76b4c83b24cd6bcf 100644 --- a/src/main/java/model/BoardFireFighterBehavior.java +++ b/src/main/java/model/BoardFireFighterBehavior.java @@ -121,5 +121,24 @@ public class BoardFireFighterBehavior implements BoardBehavior{ public void reset() { this.step=0; } + public List<Position> updateClouds() { + List<Position> modifiedPositions = new ArrayList<>(); + List<Position> newCloudPositions = new ArrayList<>(); + + for (Position cloudPosition : cloudPositions) { + // Déplacement aléatoire + List<Position> possibleMoves = neighbors.get(cloudPosition); + Position newCloudPosition = possibleMoves.get(new Random().nextInt(possibleMoves.size())); + newCloudPositions.add(newCloudPosition); + + // Éteindre le feu à la position du nuage + extinguish(newCloudPosition); + modifiedPositions.add(cloudPosition); + modifiedPositions.add(newCloudPosition); + } + + cloudPositions = newCloudPositions; + return modifiedPositions; + } }