Skip to content
Snippets Groups Projects
Commit 08aa441c authored by BELHACHEMI Mehdi's avatar BELHACHEMI Mehdi
Browse files

Mehdi and Mohamed : creating Cloud and Road classes

parent 61db6aae
No related branches found
No related tags found
No related merge requests found
Pipeline #39597 passed
...@@ -19,6 +19,8 @@ public class SimulatorApplication extends javafx.application.Application { ...@@ -19,6 +19,8 @@ public class SimulatorApplication extends javafx.application.Application {
private static final int BOX_HEIGHT = 50; private static final int BOX_HEIGHT = 50;
public static final int INITIAL_FIRE_COUNT = 15; public static final int INITIAL_FIRE_COUNT = 15;
public static final int INITIAL_FIREFIGHTER_COUNT = 10; public static final int INITIAL_FIREFIGHTER_COUNT = 10;
public static final int INITIAL_CLOUD_COUNT = 1;
private Stage primaryStage; private Stage primaryStage;
private Parent view; private Parent view;
...@@ -44,7 +46,7 @@ public class SimulatorApplication extends javafx.application.Application { ...@@ -44,7 +46,7 @@ public class SimulatorApplication extends javafx.application.Application {
view = loader.load(); view = loader.load();
Controller controller = loader.getController(); Controller controller = loader.getController();
controller.initialize(BOX_WIDTH, BOX_HEIGHT, COLUMN_COUNT, ROW_COUNT, 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() { private void showScene() {
......
...@@ -124,9 +124,9 @@ public class Controller { ...@@ -124,9 +124,9 @@ public class Controller {
} }
public void initialize(int squareWidth, int squareHeight, int columnCount, 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); grid.setDimensions(columnCount, rowCount, squareWidth, squareHeight);
this.setModel(new FirefighterBoard(columnCount, rowCount, initialFireCount, initialFirefighterCount)); this.setModel(new FirefighterBoard(columnCount, rowCount, initialFireCount, initialFirefighterCount,initialCloudCount));
repaintGrid(); repaintGrid();
} }
......
...@@ -11,24 +11,26 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -11,24 +11,26 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
private final int rowCount; private final int rowCount;
private final int initialFireCount; private final int initialFireCount;
private final int initialFirefighterCount; private final int initialFirefighterCount;
private final int initialCloudCount;
private final TargetStrategy targetStrategy = new TargetStrategy(); private final TargetStrategy targetStrategy = new TargetStrategy();
private List<FireFighter> firefighters; private List<FireFighter> firefighters;
private Map<Position, Fire> fires = new HashMap<>(); private Map<Position, Fire> fires = new HashMap<>();
private List<Cloud> clouds;
private final Map<Position, List<Position>> neighbors = new HashMap<>(); private final Map<Position, List<Position>> neighbors = new HashMap<>();
private final Position[][] positions; private final Position[][] positions;
private int step = 0; private int step = 0;
private final Random randomGenerator = new Random(); 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.columnCount = columnCount;
this.rowCount = rowCount; this.rowCount = rowCount;
this.positions = new Position[rowCount][columnCount]; this.positions = new Position[rowCount][columnCount];
// Initialize positions and neighbors
initializePositionsAndNeighbors(); initializePositionsAndNeighbors();
this.initialFireCount = initialFireCount; this.initialFireCount = initialFireCount;
this.initialFirefighterCount = initialFirefighterCount; this.initialFirefighterCount = initialFirefighterCount;
this.initialCloudCount = initialCloudCount;
initializeElements(); initializeElements();
} }
...@@ -57,6 +59,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -57,6 +59,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
public void initializeElements() { public void initializeElements() {
firefighters = new ArrayList<>(); firefighters = new ArrayList<>();
clouds = new ArrayList<>();
fires.clear(); fires.clear();
for (int index = 0; index < initialFireCount; index++) { for (int index = 0; index < initialFireCount; index++) {
......
...@@ -10,17 +10,17 @@ import static org.assertj.core.api.Assertions.*; ...@@ -10,17 +10,17 @@ import static org.assertj.core.api.Assertions.*;
public class FirefighterBoardTest { public class FirefighterBoardTest {
@Test @Test
void testColumnCount(){ 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); assertThat(board.columnCount()).isEqualTo(20);
} }
@Test @Test
void testRowCount(){ 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); assertThat(board.rowCount()).isEqualTo(10);
} }
@Test @Test
void testStepNumber(){ 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++){ for(int index = 0; index < 10; index++){
assertThat(board.stepNumber()).isEqualTo(index); assertThat(board.stepNumber()).isEqualTo(index);
board.updateToNextGeneration(); board.updateToNextGeneration();
...@@ -29,7 +29,7 @@ public class FirefighterBoardTest { ...@@ -29,7 +29,7 @@ public class FirefighterBoardTest {
} }
@Test @Test
void testGetState_afterSet(){ 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); Position position = new Position(1,2);
assertThat(board.getState(position)).isEmpty(); assertThat(board.getState(position)).isEmpty();
board.setState(List.of(ModelElement.FIRE), position); board.setState(List.of(ModelElement.FIRE), position);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment