Skip to content
Snippets Groups Projects
Commit 7652133c authored by ousseyn01's avatar ousseyn01
Browse files

FirefighterBoard is Modified too

parent b15b4dc3
No related branches found
No related tags found
No related merge requests found
......@@ -65,14 +65,16 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
@Override
public List<ModelElement> getState(Position position) {
List<ModelElement> result = new ArrayList<>();
for (Firefighter firefighter : firefighters)
if (firefighter.getPosition().equals(position))
result.add(ModelElement.FIREFIGHTER);
for (Cloud cloud : clouds) {
if (cloud.getPosition().equals(position)) {
result.add(ModelElement.CLOUD);
}
}
for (Firefighter firefighter : firefighters)
if (firefighter.getPosition().equals(position))
result.add(ModelElement.FIREFIGHTER);
if (fire.getFirePositions().contains(position))
result.add(ModelElement.FIRE);
return result;
......@@ -95,8 +97,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
}
// Déplacer les nuages et éteindre les feux
for (Cloud cloud : clouds) {
cloud.moveRandomly();
cloud.extinguishFire(fire);
//cloud.moveRandomly();
//cloud.extinguishFire(fire);
cloud.moveAndExtinguishFire(fire);
cloud.extinguishFireCloud(fire);
//modifiedPositions.addAll(fire.spreadFire());
}
step++;
......@@ -127,7 +133,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
.toList();
for (Position firePosition : adjacentFires) {
firefighter.extinguish(firePosition, fire.getFirePositions());
modifiedPosition.add(firePosition); // Ajouter la position comme modifiée
modifiedPosition.add(firePosition);
}
}
......@@ -144,12 +150,13 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
public void setState(List<ModelElement> state, Position position) {
fire.getFirePositions().remove(position);
firefighters.removeIf(f -> f.getPosition().equals(position));
clouds.removeIf(c -> c.getPosition().equals(position));
for (ModelElement element : state) {
switch (element) {
case FIRE -> fire.getFirePositions().add(position);
case FIREFIGHTER -> firefighters.add(new Firefighter(position));
case CLOUD -> clouds.add(new Cloud(position, neighbors));
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment