From 08aa441ccf5929f982dfa92d577aeb5b15740a94 Mon Sep 17 00:00:00 2001 From: b22015516 <mehdi.belhachemi@etu.univ-amu.fr> Date: Tue, 19 Nov 2024 12:01:02 +0100 Subject: [PATCH] Mehdi and Mohamed : creating Cloud and Road classes --- src/main/java/app/SimulatorApplication.java | 4 +++- src/main/java/controller/Controller.java | 4 ++-- src/main/java/model/FirefighterBoard.java | 7 +++++-- src/test/java/model/FirefighterBoardTest.java | 8 ++++---- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java index ed586dc..e7c14c9 100644 --- a/src/main/java/app/SimulatorApplication.java +++ b/src/main/java/app/SimulatorApplication.java @@ -19,6 +19,8 @@ public class SimulatorApplication extends javafx.application.Application { private static final int BOX_HEIGHT = 50; public static final int INITIAL_FIRE_COUNT = 15; public static final int INITIAL_FIREFIGHTER_COUNT = 10; + public static final int INITIAL_CLOUD_COUNT = 1; + private Stage primaryStage; private Parent view; @@ -44,7 +46,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 2a60897..d31f549 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 initialCloudCount) { grid.setDimensions(columnCount, rowCount, squareWidth, squareHeight); - this.setModel(new FirefighterBoard(columnCount, rowCount, initialFireCount, initialFirefighterCount)); + this.setModel(new FirefighterBoard(columnCount, rowCount, initialFireCount, initialFirefighterCount,initialCloudCount)); repaintGrid(); } diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index 43f0d18..224f0ba 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -11,24 +11,26 @@ public class FirefighterBoard implements Board<List<ModelElement>> { private final int rowCount; private final int initialFireCount; private final int initialFirefighterCount; + private final int initialCloudCount; private final TargetStrategy targetStrategy = new TargetStrategy(); private List<FireFighter> firefighters; private Map<Position, Fire> fires = new HashMap<>(); + private List<Cloud> clouds; private final Map<Position, List<Position>> neighbors = new HashMap<>(); private final Position[][] positions; private int step = 0; 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 initialCloudCount) { this.columnCount = columnCount; this.rowCount = rowCount; this.positions = new Position[rowCount][columnCount]; - // Initialize positions and neighbors initializePositionsAndNeighbors(); this.initialFireCount = initialFireCount; this.initialFirefighterCount = initialFirefighterCount; + this.initialCloudCount = initialCloudCount; initializeElements(); } @@ -57,6 +59,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { public void initializeElements() { firefighters = new ArrayList<>(); + clouds = new ArrayList<>(); fires.clear(); for (int index = 0; index < initialFireCount; index++) { diff --git a/src/test/java/model/FirefighterBoardTest.java b/src/test/java/model/FirefighterBoardTest.java index 25cc8db..5e6540f 100644 --- a/src/test/java/model/FirefighterBoardTest.java +++ b/src/test/java/model/FirefighterBoardTest.java @@ -10,17 +10,17 @@ import static org.assertj.core.api.Assertions.*; public class FirefighterBoardTest { @Test void testColumnCount(){ - Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3); + Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3,1); assertThat(board.columnCount()).isEqualTo(20); } @Test void testRowCount(){ - Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3); + Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3,1); assertThat(board.rowCount()).isEqualTo(10); } @Test void testStepNumber(){ - Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3); + Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3,1); for(int index = 0; index < 10; index++){ assertThat(board.stepNumber()).isEqualTo(index); board.updateToNextGeneration(); @@ -29,7 +29,7 @@ public class FirefighterBoardTest { } @Test void testGetState_afterSet(){ - Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 0, 0); + Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 0, 0,1); Position position = new Position(1,2); assertThat(board.getState(position)).isEmpty(); board.setState(List.of(ModelElement.FIRE), position); -- GitLab