diff --git a/src/main/java/model/FireFighterScenario.java b/src/main/java/model/FireFighterScenario.java index 4a2b2d47458043dfd692c55b341b6bd8a0b90c82..56143f4cf62a7b5eae559873d81461df56792e71 100644 --- a/src/main/java/model/FireFighterScenario.java +++ b/src/main/java/model/FireFighterScenario.java @@ -42,12 +42,12 @@ public class FireFighterScenario extends EntityScenario implements Board<Entity> positions.add(new Position(x, y)); } } - while (fireCount < initialFireCount || fireFighterCount < initialFireFightersCount || cloudCount < initialCloudCount) { + System.out.println("firecount : " + fireCount + " initialFireCOunt : " + initialFireCount + " cloudCount : " + cloudCount + " initialCloudCount : " + initialCloudCount); Collections.shuffle(positions); // Mélange les positions pour un parcours aléatoire - for (Position pos : positions) { - if (getState(pos).contains(EmptySquare.class)) { + if (getState(pos).stream() + .anyMatch(p -> getState(p.getPosition()).contains(Fire.class))); { if (fireCount < initialFireCount && random.nextInt(100) < chance) { setState(new Fire(pos, this, 1), pos); fireCount++; @@ -67,6 +67,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Entity> if (cloudCount < initialCloudCount && random.nextInt(100) < chance) { setState(new cloud(pos, this, 1), pos); + System.out.println("cloud count : " + cloudCount); cloudCount++; if (fireCount == initialFireCount && fireFighterCount == initialFireFightersCount && cloudCount == initialCloudCount) { return;