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