Select Git revision
ByteGrayColor.java
Forked from
NASR Alexis / Programmation2
Source project has a limited visibility.
-
Teo Blaise Kaplanski authoredTeo Blaise Kaplanski authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Fire.java 1.20 KiB
package model;
import util.Position;
import java.util.*;
public class Fire {
private static Set<Position> firePositions;
private static Map<Position, List<Position>> neighbors;
public Fire(Set<Position> firePositions, Map<Position, List<Position>> neighbors) {
this.firePositions = firePositions;
this.neighbors = neighbors;
}
public Position getPosition(){
return firePositions.iterator().next();
}
public void setPosition(Position p){
this.firePositions.add(p);
}
public static Set<Position> getFirePositions() {
return firePositions;
}
public static List<Position> spreadFire(Set<Position> mountains) {
List<Position> newFires = new ArrayList<>();
for (Position firePosition : firePositions) {
for (Position neighbor : neighbors.get(firePosition)) {
if (!mountains.contains(neighbor) && !firePositions.contains(neighbor)) {
newFires.add(neighbor);
}
}
}
firePositions.addAll(newFires);
return newFires;
}
public static void extinguishFire(Position neighbor) {
firePositions.remove(neighbor);
}
}