From e137d5a15c9baccd631dbb2759e374a128b2bbb0 Mon Sep 17 00:00:00 2001 From: AREZKI Celia <celia.arezki.1@etu.univ-amu.fr> Date: Thu, 28 Nov 2024 16:28:32 +0100 Subject: [PATCH] BoardFireFighterBehavior : DISPLAY the clouds on board --- src/main/java/app/SimulatorApplication.java | 3 ++- src/main/java/controller/Controller.java | 4 ++-- src/main/java/model/BoardFireFighterBehavior.java | 9 ++++----- src/main/java/model/FirefighterBoard.java | 5 +++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java index e88b0e9..a115fc8 100644 --- a/src/main/java/app/SimulatorApplication.java +++ b/src/main/java/app/SimulatorApplication.java @@ -19,6 +19,7 @@ public class SimulatorApplication extends javafx.application.Application { private static final int BOX_HEIGHT = 50; public static final int INITIAL_FIRE_COUNT = 3; public static final int INITIAL_FIREFIGHTER_COUNT = 6; + public static final int INITIAL_CLOUD_COUNT = 3; private Stage primaryStage; private Parent view; @@ -44,7 +45,7 @@ public class SimulatorApplication extends javafx.application.Application { view = loader.load(); Controller controller = loader.getController(); controller.initialize(BOX_WIDTH, BOX_HEIGHT, COLUMN_COUNT, ROW_COUNT, - INITIAL_FIRE_COUNT, INITIAL_FIREFIGHTER_COUNT); + INITIAL_FIRE_COUNT, INITIAL_FIREFIGHTER_COUNT,INITIAL_CLOUD_COUNT); } private void showScene() { diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java index 25585b4..3dfc3b3 100644 --- a/src/main/java/controller/Controller.java +++ b/src/main/java/controller/Controller.java @@ -124,9 +124,9 @@ public class Controller { } public void initialize(int squareWidth, int squareHeight, int columnCount, - int rowCount, int initialFireCount, int initialFirefighterCount) { + int rowCount, int initialFireCount, int initialFirefighterCount,int initialCloud) { grid.setDimensions(columnCount, rowCount, squareWidth, squareHeight); - this.setModel(new FirefighterBoard(columnCount, rowCount, initialFireCount, initialFirefighterCount)); + this.setModel(new FirefighterBoard(columnCount, rowCount, initialFireCount, initialFirefighterCount,initialCloud)); repaintGrid(); } diff --git a/src/main/java/model/BoardFireFighterBehavior.java b/src/main/java/model/BoardFireFighterBehavior.java index 13a5570..7f610f5 100644 --- a/src/main/java/model/BoardFireFighterBehavior.java +++ b/src/main/java/model/BoardFireFighterBehavior.java @@ -12,20 +12,19 @@ public class BoardFireFighterBehavior implements BoardBehavior{ private Set<Position> firePositions; private final ElementFactory<FireFighter> firefighterFactory; private final ElementFactory<Fire> fireFactory; + private final ElementFactory<Cloud> cloudFactory; private List<Position> cloudPositions; private int step; - public BoardFireFighterBehavior(Map<Position, List<Position>> neighbors, ElementFactory<Fire> fireFactory ,ElementFactory<FireFighter> firefighterFactory) { + public BoardFireFighterBehavior(Map<Position, List<Position>> neighbors, ElementFactory<Fire> fireFactory ,ElementFactory<FireFighter> firefighterFactory,ElementFactory<Cloud> cloudFactory) { this.step=0; this.neighbors = neighbors; this.firefighterFactory = firefighterFactory; this.fireFactory = fireFactory; + this.cloudFactory=cloudFactory; } - public void initializeElements(ElementFactory<Fire> fireFactory, - ElementFactory<FireFighter> firefighterFactory, - ElementFactory<Cloud> cloudFactory, - int rowCount, int columnCount) { + public void initializeElements(int rowCount, int columnCount) { // Feux firePositions = new HashSet<>(); List<Fire> fires = fireFactory.createElements(rowCount, columnCount); diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index 15587c9..9f5486a 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -11,11 +11,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> { private final Random randomGenerator = new Random(); - public FirefighterBoard(int columnCount, int rowCount, int initialFireCount, int initialFirefighterCount) { + public FirefighterBoard(int columnCount, int rowCount, int initialFireCount, int initialFirefighterCount,int initialCloud) { Map<Position, List<Position>> neighbors = initializeNeighbors(rowCount, columnCount); this.properties = new BoardFirefighterProperties(rowCount, columnCount); - this.behavior = new BoardFireFighterBehavior(neighbors,new FireFactory(randomGenerator,initialFireCount),new FirefighterFactory(randomGenerator,initialFirefighterCount)); + this.behavior = new BoardFireFighterBehavior(neighbors,new FireFactory(randomGenerator,initialFireCount),new FirefighterFactory(randomGenerator,initialFirefighterCount), + new CloudFactory(randomGenerator,initialCloud)); behavior.initializeElements( properties.rowCount(), properties.columnCount()); } -- GitLab