Newer
Older
import java.util.ArrayList;
import java.util.List;
import javafx.scene.paint.Color;
import util.PositionUtil;
Yanis OUALAN
committed
import util.PositionUtil;
Board<Square> b;
private final Color viewColor = Color.RED;
melizzzz
committed
private final int priority = 0;
public Fire(Position position, Board<Square> b) {
public Fire(Position position, Board<Square> b, int age) {
this.b = b;
this.position = position;
this.age = age;
public List<Position> nextTurn(Board<Square> board) {
if (board.getStepNumber() % 2 == 0)
return new ArrayList<Position>();
List<Position> positions = PositionUtil.generateAdjacentPositions(position, board);
positions.removeIf( p -> b.doesSquareContainEntity(p, Mountain.class));
if (b.getStates(p).isEmpty() && !b.getStates(p).getEntities().contains(Cloud.class)) {
if (b.getStates(p).getMaxAge() < b.getStepNumber()
&& PositionUtil.getManhattanDistance(position, p) == 1) {
board.addEntityAtSquare(new Fire(p, board), p);
@Override
public void setPosition(Position p) {
this.position = p;
}
@Override
public Position getPosition() {
return this.position;
return this.viewColor;
}
@Override
public int getAge() {
return this.age;
}
@Override
public void incrementAge() {
@Override
public void setAge(int age) {
this.age = age;
}
melizzzz
committed
@Override
public int getPriority(){ return this.priority;}