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

FireProperties : add the methode isOnFire

parent c05240c9
No related branches found
No related tags found
No related merge requests found
...@@ -4,19 +4,21 @@ import util.Position; ...@@ -4,19 +4,21 @@ import util.Position;
import java.util.*; import java.util.*;
public class FireManager { public class FireManager implements FireBehavior, FireProperties{
private Set<Position> firePositions; private Set<Position> firePositions;
public FireManager(Set<Position> firePositions) { public FireManager(Set<Position> firePositions) {
this.firePositions = firePositions; this.firePositions = firePositions;
} }
// Initialize fire positions randomly // Initialize fire positions randomly
public void initializeFires(int fireCount, int rowCount, int columnCount, Random random) { public void initializeFires(int fireCount, int rowCount, int columnCount, Random random) {
firePositions.clear(); firePositions.clear();
for (int i = 0; i < fireCount; i++) { for (int i = 0; i < fireCount; i++) {
firePositions.add(new Position(random.nextInt(rowCount), random.nextInt(columnCount))); firePositions.add(new Position(random.nextInt(rowCount), random.nextInt(columnCount)));
} }
} }
@Override
public List<Position> updateFires(int step, Map<Position, List<Position>> neighbors) { public List<Position> updateFires(int step, Map<Position, List<Position>> neighbors) {
List<Position> newFirePositions = new ArrayList<>(); List<Position> newFirePositions = new ArrayList<>();
if (step % 2 == 0) { // Fires spread every other step if (step % 2 == 0) { // Fires spread every other step
...@@ -32,6 +34,7 @@ public class FireManager { ...@@ -32,6 +34,7 @@ public class FireManager {
return newFirePositions; return newFirePositions;
} }
// Extinguish a fire at a specific position // Extinguish a fire at a specific position
@Override
public void extinguishFire(Position position) { public void extinguishFire(Position position) {
firePositions.remove(position); firePositions.remove(position);
} }
......
package model; package model;
import util.Position;
public interface FireProperties { public interface FireProperties {
public boolean isOnFire(Position position);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment