From 6a7d4c4e4de38f9b13d3391edfe9da9993b95d4c Mon Sep 17 00:00:00 2001 From: AREZKI Celia <celia.arezki.1@etu.univ-amu.fr> Date: Thu, 28 Nov 2024 16:20:49 +0100 Subject: [PATCH] BoardFireFighterBehavior : add the methode updateClouds --- .../java/model/BoardFireFighterBehavior.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/model/BoardFireFighterBehavior.java b/src/main/java/model/BoardFireFighterBehavior.java index e487a86..9030224 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; + } } -- GitLab