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

FirefighterBoard : modify the constructor

parent 68a96b37
No related branches found
No related tags found
No related merge requests found
...@@ -39,6 +39,7 @@ public class FireManager implements FireBehavior, FireProperties{ ...@@ -39,6 +39,7 @@ public class FireManager implements FireBehavior, FireProperties{
firePositions.remove(position); firePositions.remove(position);
} }
// Query if a position is on fire // Query if a position is on fire
@Override
public boolean isOnFire(Position position) { public boolean isOnFire(Position position) {
return firePositions.contains(position); return firePositions.contains(position);
} }
......
...@@ -10,22 +10,32 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -10,22 +10,32 @@ 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 TargetStrategy targetStrategy = new TargetStrategy();
private final FireManager fireManager;
private final FirefighterManager firefighterManager;
private List<Position> firefighterPositions; private List<Position> firefighterPositions;
private Set<Position> firePositions; private Set<Position> firePositions;
private 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 Map<Position, List<Position>> neighbors = new HashMap<>();
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) {
this.columnCount = columnCount; this.columnCount = columnCount;
this.rowCount = rowCount; this.rowCount = rowCount;
this.initialFireCount = initialFireCount;
this.initialFirefighterCount = initialFirefighterCount;
// Initialize positions
this.positions = new Position[rowCount][columnCount]; this.positions = new Position[rowCount][columnCount];
for (int column = 0; column < columnCount; column++) for (int column = 0; column < columnCount; column++) {
for (int row = 0; row < rowCount; row++) for (int row = 0; row < rowCount; row++) {
positions[row][column] = new Position(row, column); positions[row][column] = new Position(row, column);
for (int column = 0; column < columnCount; column++) }
}
// Initialize neighbors
for (int column = 0; column < columnCount; column++) {
for (int row = 0; row < rowCount; row++) { for (int row = 0; row < rowCount; row++) {
List<Position> list = new ArrayList<>(); List<Position> list = new ArrayList<>();
if (row > 0) list.add(positions[row - 1][column]); if (row > 0) list.add(positions[row - 1][column]);
...@@ -34,8 +44,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -34,8 +44,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
if (column < columnCount - 1) list.add(positions[row][column + 1]); if (column < columnCount - 1) list.add(positions[row][column + 1]);
neighbors.put(positions[row][column], list); neighbors.put(positions[row][column], list);
} }
this.initialFireCount = initialFireCount; }
this.initialFirefighterCount = initialFirefighterCount;
// Initialize managers
this.fireManager = new FireManager(new HashSet<>());
this.firefighterManager = new FirefighterManager(new ArrayList<>(), fireManager);
initializeElements(); initializeElements();
} }
...@@ -99,7 +113,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -99,7 +113,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
return step; return step;
} }
private List<Position> updateFirefighters() { /* private List<Position> updateFirefighters() {
List<Position> modifiedPosition = new ArrayList<>(); List<Position> modifiedPosition = new ArrayList<>();
List<Position> firefighterNewPositions = new ArrayList<>(); List<Position> firefighterNewPositions = new ArrayList<>();
for (Position firefighterPosition : firefighterPositions) { for (Position firefighterPosition : firefighterPositions) {
...@@ -118,7 +132,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -118,7 +132,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
} }
firefighterPositions = firefighterNewPositions; firefighterPositions = firefighterNewPositions;
return modifiedPosition; return modifiedPosition;
} }*/
@Override @Override
public void reset() { public void reset() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment