diff --git a/src/main/java/model/EmptyEntity.java b/src/main/java/model/EmptyEntity.java new file mode 100644 index 0000000000000000000000000000000000000000..6a916b89c626b4a0fcbdda433592f07a0cb2050a --- /dev/null +++ b/src/main/java/model/EmptyEntity.java @@ -0,0 +1,59 @@ +package model; + +import java.util.ArrayList; +import java.util.List; + +import javafx.scene.paint.Color; +import util.Position; + +public class EmptyEntity implements Entity{ + + + private Position position; + private int age; + public EmptyEntity(Position position){ + this.position = position; + this.age = 0; + } + public EmptyEntity(Position position, int age){ + this.position = position; + this.age = age; + } + @Override + public List<Position> nextTurn(Board<Square> board) { + return new ArrayList<Position>(); + } + + @Override + public Position getPosition() { + return this.position; + } + + @Override + public void setPosition(Position p) { + this.position = p; + } + + @Override + public int getAge() { + return age; + } + + @Override + public void setAge(int age){ + this.age = age; + } + + @Override + public void incrementAge() { + this.age = age + 1; + } + + + + @Override + public Color getViewColor() { + return Color.WHITE; + } + +} \ No newline at end of file diff --git a/src/main/java/model/Entity.java b/src/main/java/model/Entity.java index e45030ae6260b4dd91228ff15670c1dd4aeb6692..a14b34a525698fa52e5d472ccbc57764f78b9435 100644 --- a/src/main/java/model/Entity.java +++ b/src/main/java/model/Entity.java @@ -16,6 +16,7 @@ public interface Entity { public Position getPosition(); public void setPosition(Position p); public int getAge(); + public void setAge(int age); public void incrementAge(); public Color getViewColor(); } diff --git a/src/main/java/model/EntityScenario.java b/src/main/java/model/EntityScenario.java index 3845fb55eb1db8a948ab2a9228c597d8637c99f3..e6c9bd3554e3ac84accb7243441663d196e44be9 100644 --- a/src/main/java/model/EntityScenario.java +++ b/src/main/java/model/EntityScenario.java @@ -7,7 +7,8 @@ public abstract class EntityScenario implements Scenario{ public void initScenario(Matrix<Square> matrix){ for(int x = 0; x < matrix.getRows(); x++){ for(int y = 0; y < matrix.getColumns(); y++){ - matrix.set(x,y, new Square(new Position(x, y))); + Square s = new Square(new Position(x, y), new EmptyEntity(new Position(x,y))); + matrix.set(x,y, s); } } } diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java index 5019b7b3974c781493530a9ab41b603e612b977d..75756cae6027d568af7683f6180d12d45c28131b 100644 --- a/src/main/java/model/Fire.java +++ b/src/main/java/model/Fire.java @@ -64,4 +64,8 @@ public class Fire implements Entity{ public void incrementAge() { this.age = age + 1 ; } + @Override + public void setAge(int age) { + this.age = age; + } } diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java index 0816e5605e727fc83199cc5fb1c9781023299761..16f0d7d4bf2be7529069ef15acce971ac62689c1 100644 --- a/src/main/java/model/FireFighter.java +++ b/src/main/java/model/FireFighter.java @@ -129,5 +129,8 @@ public class FireFighter implements Entity{ this.age = age + 1 ; } - + @Override + public void setAge(int age) { + this.age = age; + } } diff --git a/src/main/java/model/FireFighterScenario.java b/src/main/java/model/FireFighterScenario.java index 987ceda1997e612c3ac2c7a4a930c926cf0a77e9..b450177064344dff7a7da3df3393641ae98fa470 100644 --- a/src/main/java/model/FireFighterScenario.java +++ b/src/main/java/model/FireFighterScenario.java @@ -41,6 +41,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> } while (fireCount < initialFireCount || fireFighterCount < initialFireFightersCount) { + System.out.println("aaa"); Collections.shuffle(positions); // Mélange les positions pour un parcours aléatoire for (Position pos : positions) { @@ -121,7 +122,9 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> @Override public void clearCase(Position position) { - setSquare(new Square(position), position, true); + Square s = new Square(position); + s.addEntity(new EmptyEntity(position, step+1)); + setSquare(s, position, true); } public List<Position> updateToNextGeneration() { diff --git a/src/main/java/model/Square.java b/src/main/java/model/Square.java index 98c37e2f40dcf128b79719cd5cbc839484191895..67a68b65d0da9537fe34c260c3d169aa269ed5da 100644 --- a/src/main/java/model/Square.java +++ b/src/main/java/model/Square.java @@ -40,7 +40,7 @@ public class Square { } public boolean isEmpty(){ - return entities.isEmpty(); + return entities.isEmpty() ||(entities.size() == 1 && entities.get(0) instanceof EmptyEntity); } public int getMinimalAge(){