diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index b7a3ba54f50ca201bed93a27ed191d81b8c10a85..07d1c16d311d205e8a8bfa09f9a4ebe9378678a2 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -93,7 +93,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { //result contient FirefighterPosition , newfigherfighterposition ,neighborfirepositions //this function update the firefighter position to the nearest fire position and extinguish fire from this psoition and all the neighbor positions to this fire - +//** private List<Position> updateFirefighters() { List<Position> result = new ArrayList<>(); List<Position> firefighterNewPositions = new ArrayList<>(); diff --git a/src/main/java/newmodel/Extinguisher.java b/src/main/java/newmodel/Extinguisher.java new file mode 100644 index 0000000000000000000000000000000000000000..41c9ca34cac6c79d77eeca0b1023e77ce0a62207 --- /dev/null +++ b/src/main/java/newmodel/Extinguisher.java @@ -0,0 +1,14 @@ +package newmodel; + +import newmodel.Fboard; +import util.Position; + +import java.util.List; + +public interface Extinguisher { + public List<Position> updateExtinguisher(Fboard board); + public void extinguish(); + public void setState(); + public String getState(); + +} diff --git a/src/main/java/newmodel/Fboard.java b/src/main/java/newmodel/Fboard.java new file mode 100644 index 0000000000000000000000000000000000000000..03767671d4682dd3b9cc3540936d399844d189b2 --- /dev/null +++ b/src/main/java/newmodel/Fboard.java @@ -0,0 +1,70 @@ +package newmodel; + +import util.Position; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class Fboard { + private final int columnCount; + private final int rowCount; + private int step = 0; + private final Random randomGenerator = new Random(); + + private List<FireManager> fire; + private List<Extinguisher> extinguishe; + + public Fboard(int columnCount, int rowCount) { + this.columnCount = columnCount; + this.rowCount = rowCount; + this.fire=new ArrayList<>(); + this.extinguishe=new ArrayList<>(); + } + private Position randomPosition() { + return new Position(randomGenerator.nextInt(rowCount), randomGenerator.nextInt(columnCount)); + } + + public int rowCount() { + return rowCount; + } + + public int columnCount() { + return columnCount; + } + + public List<Position> updateToNextGeneration() { + List<Position> result = new ArrayList<>(); + for (FireManager f : fire) { + result.addAll(f.updateFire(this)); + } + for(Extinguisher e : extinguishe) { + result.addAll(e.updateExtinguisher(this)); + } + step++; + return result; + } + + public int stepNumber() { + return step; + } + public void reset() { + step = 0; + initializeElements(); + } + public void initializeElements() { + for (FireManager f : fire) { + f.initialise + } + + + + + + } + } + + + + +} diff --git a/src/main/java/newmodel/Fire.java b/src/main/java/newmodel/Fire.java new file mode 100644 index 0000000000000000000000000000000000000000..fc7504ef820357415b305d94d6870b4bdd062ab7 --- /dev/null +++ b/src/main/java/newmodel/Fire.java @@ -0,0 +1,30 @@ +package newmodel; + +import util.Position; + +import java.util.List; + +public class Fire implements FireManager { + + private final int initialFireCount; + + + public Fire(int initialFireCount) { + this.initialFireCount = initialFireCount; + } + + @Override + public List<Position> updateFire(Fboard board) { + return null; + } + + @Override + public void setState() { + + } + + @Override + public String getState() { + return null; + } +} diff --git a/src/main/java/newmodel/FireFighter.java b/src/main/java/newmodel/FireFighter.java new file mode 100644 index 0000000000000000000000000000000000000000..dbc746e1a20fc3e48725002b33632a58ed034d25 --- /dev/null +++ b/src/main/java/newmodel/FireFighter.java @@ -0,0 +1,29 @@ +package newmodel; + +import newmodel.Extinguisher; +import newmodel.Fboard; +import util.Position; + +import java.util.List; + +public class FireFighter implements Extinguisher { + @Override + public List<Position> updateExtinguisher(Fboard board) { + return null; + } + + @Override + public void extinguish() { + + } + + @Override + public void setState() { + + } + + @Override + public String getState() { + return null; + } +} diff --git a/src/main/java/newmodel/FireManager.java b/src/main/java/newmodel/FireManager.java new file mode 100644 index 0000000000000000000000000000000000000000..395b1b1a38e7972a53389e13d91a0975fa964caa --- /dev/null +++ b/src/main/java/newmodel/FireManager.java @@ -0,0 +1,12 @@ +package newmodel; + +import newmodel.Fboard; +import util.Position; + +import java.util.List; + +public interface FireManager { + public List<Position> updateFire(Fboard board); + public void setState(); + public String getState(); +}