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

FirefighterBoard : modify the constructor

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