From dfa26fe28e57a4bac00eeec940e832f9fc85d69b Mon Sep 17 00:00:00 2001
From: MEHDI <mehdi.belhachemi@etu-univ.amu.fr>
Date: Sun, 24 Nov 2024 19:01:31 +0100
Subject: [PATCH] improving classes

---
 src/main/java/model/Board.java            |  2 +-
 src/main/java/model/Cloud.java            |  5 ++++-
 src/main/java/model/Extinguisher.java     |  2 ++
 src/main/java/model/FireFighter.java      |  5 ++---
 src/main/java/model/FirefighterBoard.java | 14 +++-----------
 5 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/src/main/java/model/Board.java b/src/main/java/model/Board.java
index f568624..17d28ba 100644
--- a/src/main/java/model/Board.java
+++ b/src/main/java/model/Board.java
@@ -36,7 +36,7 @@ public interface Board<S> {
   Map<Position, Extinguisher> getExtinguishers();
 
   Map<Position, Fire> getFires();
-   Neighbour getNeighbor();
+
 
 
   /**
diff --git a/src/main/java/model/Cloud.java b/src/main/java/model/Cloud.java
index c11fd8b..b61a5a4 100644
--- a/src/main/java/model/Cloud.java
+++ b/src/main/java/model/Cloud.java
@@ -1,5 +1,6 @@
 package model;
 
+import util.Neighbour;
 import util.Position;
 
 import java.util.ArrayList;
@@ -14,10 +15,12 @@ public class Cloud extends Extinguisher {
     }
 
     public List<Position>update(Board<List<ModelElement>> firefighterBoard){
+
+        this.neighbour = new Neighbour(firefighterBoard);
         List<Position> modifiedPositions = new ArrayList<>();
 
         Position currentPosition = this.getPosition();
-        Position newPosition = firefighterBoard.getNeighbor().randomNeighbor(currentPosition);
+        Position newPosition = this.neighbour.randomNeighbor(currentPosition);
         this.setPosition(newPosition);
         modifiedPositions.add(currentPosition);
         modifiedPositions.add(newPosition);
diff --git a/src/main/java/model/Extinguisher.java b/src/main/java/model/Extinguisher.java
index 9c79048..4983ad2 100644
--- a/src/main/java/model/Extinguisher.java
+++ b/src/main/java/model/Extinguisher.java
@@ -1,10 +1,12 @@
 package model;
 
+import util.Neighbour;
 import util.Position;
 
 import java.util.List;
 
 public abstract class Extinguisher implements Element{
+    protected Neighbour neighbour;
 
     protected Position position;
     protected ModelElement element;
diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java
index 0eb1614..f07b2f8 100644
--- a/src/main/java/model/FireFighter.java
+++ b/src/main/java/model/FireFighter.java
@@ -5,14 +5,13 @@ import util.Position;
 import util.TargetStrategy;
 
 import java.util.ArrayList;
-import java.util.HashMap;
+
 import java.util.List;
-import java.util.Map;
+
 
 
 public class FireFighter extends Extinguisher {
 
-    private Neighbour neighbour;
     private final TargetStrategy targetStrategy = new TargetStrategy();
 
 
diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index 0b31a01..74c4338 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -1,6 +1,5 @@
 package model;
 
-import util.Neighbour;
 import util.Position;
 
 import java.util.*;
@@ -12,16 +11,17 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
   private Map<Position, Fire> fires = new HashMap<>();
   private Map<Position, Extinguisher> extinguishers = new HashMap<>();
   private Map<Position, Obstacle> obstacles = new HashMap<>();
-  private final Neighbour neighbour;
+
   private final Position[][] positions;
   private int step = 0;
   private final Random randomGenerator = new Random();
 
+
   public FirefighterBoard(int columnCount, int rowCount) {
     this.columnCount = columnCount;
     this.rowCount = rowCount;
     this.positions = new Position[rowCount][columnCount];
-    this.neighbour = new Neighbour(this);
+
     initializePositions();
     initializeElements();
   }
@@ -85,8 +85,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
     return columnCount;
   }
 
-
-
   public List<Position> updateToNextGeneration() {
 
     Fire fire = new Fire(randomPosition());
@@ -101,11 +99,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
     return modifiedPositions;
   }
 
-
-  public Neighbour getNeighbor() {
-    return neighbour;
-  }
-
   @Override
   public int stepNumber() {
     return step;
@@ -131,7 +124,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
     initializeElements();
   }
 
-
   @Override
   public void setState(List<ModelElement> state, Position position) {
 
-- 
GitLab