From 06b99736eb89e459a6ae31062a4405034d14fb18 Mon Sep 17 00:00:00 2001
From: b22015516 <mehdi.belhachemi@etu.univ-amu.fr>
Date: Wed, 27 Nov 2024 15:39:00 +0100
Subject: [PATCH] improving cloud class so that it extinguises neighbours

---
 src/main/java/model/Elements/Extinguisher/Cloud.java        | 5 +++++
 src/main/java/model/Elements/Extinguisher/Extinguisher.java | 4 ++--
 src/main/java/model/Elements/Fire.java                      | 2 +-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/main/java/model/Elements/Extinguisher/Cloud.java b/src/main/java/model/Elements/Extinguisher/Cloud.java
index d097e0f..19524e1 100644
--- a/src/main/java/model/Elements/Extinguisher/Cloud.java
+++ b/src/main/java/model/Elements/Extinguisher/Cloud.java
@@ -30,6 +30,11 @@ public class Cloud extends Extinguisher {
 
         extinguish(firefighterBoard,newPosition);
 
+        for (Position neighbor : this.neighbour.getNeighbors().get(newPosition)) {
+            extinguish(firefighterBoard,neighbor);
+            modifiedPositions.add(neighbor);
+        }
+
         return modifiedPositions;
     }
 
diff --git a/src/main/java/model/Elements/Extinguisher/Extinguisher.java b/src/main/java/model/Elements/Extinguisher/Extinguisher.java
index 7d45c88..fe39516 100644
--- a/src/main/java/model/Elements/Extinguisher/Extinguisher.java
+++ b/src/main/java/model/Elements/Extinguisher/Extinguisher.java
@@ -10,11 +10,12 @@ import util.TargetStrategy;
 import java.util.List;
 
 public abstract class Extinguisher implements model.Elements.element {
+
     protected final TargetStrategy targetStrategy = new TargetStrategy();
     protected Neighbour neighbour;
-
     protected Position position;
     protected ModelElement element;
+
     public Extinguisher(Position position){
         this.position = position;
     }
@@ -35,7 +36,6 @@ public abstract class Extinguisher implements model.Elements.element {
         if (board.getFires().containsKey(position)) {
             board.getFires().remove(position);
         }
-
     }
 
     public abstract List<Position> update(Board<List<ModelElement>> firefighterBoard);
diff --git a/src/main/java/model/Elements/Fire.java b/src/main/java/model/Elements/Fire.java
index 7de2d84..a552a62 100644
--- a/src/main/java/model/Elements/Fire.java
+++ b/src/main/java/model/Elements/Fire.java
@@ -60,7 +60,7 @@ public class Fire implements element {
         return modifiedPositions;
     }
 
-    public List<Position>removeMountainAndRoads(Board<List<ModelElement>> firefighterBoard,Position position){
+    private List<Position>removeMountainAndRoads(Board<List<ModelElement>> firefighterBoard,Position position){
         List<Position>neighboursAvailable;
 
         neighboursAvailable = this.neighbour.getNeighbors().get(position);
-- 
GitLab