From 23ee14fcc1b9ac083ca1195f7652482cacaa480b Mon Sep 17 00:00:00 2001 From: AREZKI Celia <celia.arezki.1@etu.univ-amu.fr> Date: Thu, 28 Nov 2024 16:19:35 +0100 Subject: [PATCH] BoardFireFighterBehavior : modify the methode initialize --- .../java/model/BoardFireFighterBehavior.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/model/BoardFireFighterBehavior.java b/src/main/java/model/BoardFireFighterBehavior.java index 7e1275b..e487a86 100644 --- a/src/main/java/model/BoardFireFighterBehavior.java +++ b/src/main/java/model/BoardFireFighterBehavior.java @@ -12,6 +12,7 @@ public class BoardFireFighterBehavior implements BoardBehavior{ private Set<Position> firePositions; private final ElementFactory<FireFighter> firefighterFactory; private final ElementFactory<Fire> fireFactory; + private List<Position> cloudPositions; private int step; public BoardFireFighterBehavior(Map<Position, List<Position>> neighbors, ElementFactory<Fire> fireFactory ,ElementFactory<FireFighter> firefighterFactory) { @@ -21,20 +22,30 @@ public class BoardFireFighterBehavior implements BoardBehavior{ this.fireFactory = fireFactory; } - public void initializeElements(int rowCount, int columnCount) { - // Utilisation de la factory pour créer les feux + public void initializeElements(ElementFactory<Fire> fireFactory, + ElementFactory<FireFighter> firefighterFactory, + ElementFactory<Cloud> cloudFactory, + int rowCount, int columnCount) { + // Feux firePositions = new HashSet<>(); List<Fire> fires = fireFactory.createElements(rowCount, columnCount); for (Fire fire : fires) { firePositions.add(fire.getPosition()); } - // Utilisation de la factory pour créer les pompiers + // Pompiers firefighterPositions = new ArrayList<>(); List<FireFighter> firefighters = firefighterFactory.createElements(rowCount, columnCount); for (FireFighter firefighter : firefighters) { firefighterPositions.add(firefighter.getPosition()); } + + // Nuages + cloudPositions = new ArrayList<>(); + List<Cloud> clouds = cloudFactory.createElements(rowCount, columnCount); + for (Cloud cloud : clouds) { + cloudPositions.add(cloud.getPosition()); + } } private Position randomPosition(int rowCount, int columnCount, Random randomGenerator) { -- GitLab