From 62c09a65aa3fb5086511aade5d2e1debc1c342bc Mon Sep 17 00:00:00 2001
From: m23022217 <ilyas.maazouz@etu.univ-amu.fr>
Date: Mon, 13 Nov 2023 11:45:22 +0100
Subject: [PATCH] sfdsdfsd

---
 src/main/java/model/FirefighterBoard.java |  2 +-
 src/main/java/newmodel/Extinguisher.java  | 14 +++++
 src/main/java/newmodel/Fboard.java        | 70 +++++++++++++++++++++++
 src/main/java/newmodel/Fire.java          | 30 ++++++++++
 src/main/java/newmodel/FireFighter.java   | 29 ++++++++++
 src/main/java/newmodel/FireManager.java   | 12 ++++
 6 files changed, 156 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/newmodel/Extinguisher.java
 create mode 100644 src/main/java/newmodel/Fboard.java
 create mode 100644 src/main/java/newmodel/Fire.java
 create mode 100644 src/main/java/newmodel/FireFighter.java
 create mode 100644 src/main/java/newmodel/FireManager.java

diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index b7a3ba5..07d1c16 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 0000000..41c9ca3
--- /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 0000000..0376767
--- /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 0000000..fc7504e
--- /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 0000000..dbc746e
--- /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 0000000..395b1b1
--- /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();
+}
-- 
GitLab