Skip to content
Snippets Groups Projects
Commit d1ce29ba authored by AREZKI Celia's avatar AREZKI Celia
Browse files

change methods in BoardFireFighterBehaviour class

parent 3d6e743a
No related branches found
No related tags found
No related merge requests found
......@@ -10,21 +10,30 @@ public class BoardFireFighterBehavior implements BoardBehavior{
private final Map<Position, List<Position>> neighbors;
private List<Position> firefighterPositions;
private Set<Position> firePositions;
private final ElementFactory<FireFighter> firefighterFactory;
private final ElementFactory<Fire> fireFactory;
private int step;
public BoardFireFighterBehavior(Map<Position, List<Position>> neighbors) {
this.neighbors = neighbors;
public BoardFireFighterBehavior(Map<Position, List<Position>> neighbors, ElementFactory<Fire> fireFactory ,ElementFactory<FireFighter> firefighterFactory) {
this.step=0;
this.neighbors = neighbors;
this.firefighterFactory = firefighterFactory;
this.fireFactory = fireFactory;
}
public void initializeElements(int initialFireCount, int initialFirefighterCount, int rowCount, int columnCount, Random randomGenerator) {
firefighterPositions = new ArrayList<>();
public void initializeElements(int rowCount, int columnCount) {
// Utilisation de la factory pour créer les feux
firePositions = new HashSet<>();
for (int i = 0; i < initialFireCount; i++) {
firePositions.add(randomPosition(rowCount, columnCount, randomGenerator));
List<Fire> fires = fireFactory.createElements(rowCount, columnCount);
for (Fire fire : fires) {
firePositions.add(fire.getPosition());
}
for (int i = 0; i < initialFirefighterCount; i++) {
firefighterPositions.add(randomPosition(rowCount, columnCount, randomGenerator));
// Utilisation de la factory pour créer les pompiers
firefighterPositions = new ArrayList<>();
List<FireFighter> firefighters = firefighterFactory.createElements(rowCount, columnCount);
for (FireFighter firefighter : firefighters) {
firefighterPositions.add(firefighter.getPosition());
}
}
......@@ -70,9 +79,6 @@ public class BoardFireFighterBehavior implements BoardBehavior{
firePositions.remove(position);
}
public void reset(int step) {
this.step = step;
}
public Set<Position> getFirePositions() {
return firePositions;
......@@ -102,6 +108,7 @@ public class BoardFireFighterBehavior implements BoardBehavior{
@Override
public void reset() {
this.step=0;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment