From 3f6a814ef1ed5fdab928cf6c5a2dfd9a689b0938 Mon Sep 17 00:00:00 2001
From: m23022217 <ilyas.maazouz@etu.univ-amu.fr>
Date: Thu, 23 Nov 2023 11:38:03 +0100
Subject: [PATCH] dsfsdfsd

---
 .../8.4/executionHistory/executionHistory.bin | Bin 52690 -> 52690 bytes
 .../executionHistory/executionHistory.lock    | Bin 17 -> 17 bytes
 .gradle/8.4/fileHashes/fileHashes.bin         | Bin 24497 -> 24497 bytes
 .gradle/8.4/fileHashes/fileHashes.lock        | Bin 17 -> 17 bytes
 .../8.4/fileHashes/resourceHashesCache.bin    | Bin 21081 -> 21795 bytes
 .../buildOutputCleanup.lock                   | Bin 17 -> 17 bytes
 .../compileJava/previous-compilation-data.bin | Bin 21208 -> 21208 bytes
 src/main/java/model/ModelElement.java         |   2 +-
 src/main/java/newmodel/Fboard.java            |  25 +++++++-----
 src/main/java/newmodel/Fire.java              |   6 +--
 src/main/java/newmodel/FireFighter.java       |  38 +++++++++---------
 11 files changed, 38 insertions(+), 33 deletions(-)

diff --git a/.gradle/8.4/executionHistory/executionHistory.bin b/.gradle/8.4/executionHistory/executionHistory.bin
index 081f2727a4b72073919321bcc6c20e24f4f173c9..f84ef8498b8b5049936eb04fec700633f625bc0b 100644
GIT binary patch
delta 450
zcmcaKoB7gg<_+l^l`@SgO0r6d&5Fx1@+)$T3o=s5%}R@MQ?oM}z<}}W=0cA<jGHf{
zrg3dPy_bzyKtCmpV?wo)$zCIl?5m&F{M`KTz*I&dB}rT1b4EOS3MH%Fyi>d7&Ny}Q
zf<BSSa}GHOJaN(T@La~I87sJ+w`780=wyR_kx7R=gf<_#Tip@8>!gGjYre<Fo4Xlj
zO+HvExw-hTK9j(^9nZ@9KkYp6HSQ;CQ16Sx$?20dCf_>xh-Kx1wtJHg99zM16vW6m
zuE%l?#F%$ni{;t;wtJJ$9JgV)4ie!x5n123pzYp%!xmP?Ubm$D#G(|v<ebFfVg`YW
zZ4<&yN*%VlY<yHc_?*O(L-RrE)+sY~yJZ%o!c;BWcf<Pk8ouP9rbirxMmr_0gH_ED
zW}F04<(8SAQIc8&Q@mxxkpPthPl2yBpH5B-ySCu>{I+|{`wb6Iettq;`XpHAY-VN#
zf%&}|{2kv`>{mOn`R}r##N^3}Cm#!l>REKlmOq>(cg{JU%UvL5vf&xc&9<ik7)2sZ
d9k}UdGV!nb3l4ixXNQWZ3)}8(UU=G&2>=)w&B6cx

delta 437
zcmcaKoB7gg<_+l^l`0CW3i6GzN{iCc%S$qi(h4h$b4_!q%F{9#z<}ez=0cA<jGHf{
zrg3dPy_b!7^0jcy&A$%RFbbWm5dNC6(%|laS1%Sym~U@moH}_ypUC7nha3c^y`7ur
z9O)-p5`2SM;$-;t$p-x*lMZ_bU4B^|*w3SXEca;3#gOBdHZsnde6Un<bMaw)CV@*k
zqP(hiC|$hW{9O9+v9Ixy(<f_8zIF5wOVi;Ww<aGrwu0s9?X5Q^=N#8#c?V+5JFdm@
z>E_lOlg}KtVc7^$!*e3Ce#5~ZxAq&hurl_#CFLg;rRXK+Bo-Gl2y_Qm%CeWsnSK0U
zdtU#lXu$6MAay^L7`xpvi&9~#jP)XyuUhujv**l~>`k6;V|ovORLvA-oCH$kmYJSW
zl3D~)JfSG(f34okheo~Mqrcv?>05d5$1UdlhO;I=KOrxD7;OG*W@ZL~JByzm-D2)z
zYgv^NF4g1cFj?{BV}Yi{vCj*F+Annr=WiGF|4}m8@QmhW+fxCIA_3=@&&%9&Uc#!S
UkkO(z`q-}{KW=Sac-oK&0C)G(kN^Mx

diff --git a/.gradle/8.4/executionHistory/executionHistory.lock b/.gradle/8.4/executionHistory/executionHistory.lock
index 19d069dc1bb8acfdd4ceb1c9555c46f0c800308d..584c58c264ded8a4cc878c1ef260c758712aa6bc 100644
GIT binary patch
literal 17
UcmZSnerm=1jKwqOF+jjn07T0L;{X5v

literal 17
UcmZSnerm=1jKwqOF+e~f07RDsuK)l5

diff --git a/.gradle/8.4/fileHashes/fileHashes.bin b/.gradle/8.4/fileHashes/fileHashes.bin
index c9a08a77d62dd366ea28a84b10887c3805d1861e..29043a2bc1179d522a50cf9b909ae36f711ce3eb 100644
GIT binary patch
delta 363
zcmdnEpK;@U#trYo6$JSfeqP7V@4M2uuuZyPMgRi?WB2dfjGYW%!25MFe}szygZGJ<
zn}Vn03M@4}eaPpeAz0B;cLT5*22RJx#StzFTrU{Dm~6dl@?GiT%fhvt$H9tb+b@GC
zV%@R%dPD)Eg8i~S3zZ^<JyGhGuD3HYcY;;zW?TSK#n8GrJ&K1>Vatjm0V)Ze0$*!B
zotzeSZ2?%-!T#S6ReXmhPmWe+J~)AK^4@4Eg^O(y!cIyZw!3V6R6h8e#1p9ELlDJ+
z>n48(DegZxSusXRVcEVL*1y;AB?mP<;xIJYDFIb{9io_X&gAGAkja{pTVswgADrMf
z`J<QA<n&lk=7asuCfCO%G9R4aI{9I!-ekeJ>C6Wwgin4OEF}?f>cCAulZk)bUvSuq
QIy+QA44p7_^4+*A02iQ(qW}N^

delta 347
zcmdnEpK;@U#trYo6-rsGQ-Tw@m*`3;yH1@Uz{SA8*!?@ip_>5=c%M$@k8n{~^W5%A
zKhHjm*g1aFB)_Q%gB8WGsDafmaQ>fM9O0r6@K1xqUDq)?n_>IP^@VGgpo#<_idau<
zz8+D)IJq`Zgy+|{Y40GS49%O<qj(q<CKToTuhpCR(5Ux&^w*m<eGt70D<P`*W=)<P
zt<D^$uwnAvXeov6;7VEcayhe)|7*|dUlk32D3;$1Q7l+F`8!Cl{Nc%pF;WV~dXdXl
zEqm+Pb7o8SCeODq5XB0-5XGD`Cr8JqGsh`5O>T`j%FLVlZt_PjsmbZFqRhNGpC;GG
zCNlHpKArq9RBy6i+;rwR#f_8S21`i<oL@dKbJKYVtCm7Wi{j{G5JQ!!Cf|*_0s!hI
Bd9wfj

diff --git a/.gradle/8.4/fileHashes/fileHashes.lock b/.gradle/8.4/fileHashes/fileHashes.lock
index 6a377ff71b33b12ad96936f7c7774a09f9f0bec6..797f7ce222793c73535024fee2ac478c8740e1d0 100644
GIT binary patch
literal 17
VcmZSHU4OfW^YC9O1~6dO0RTEi1h)VH

literal 17
VcmZSHU4OfW^YC9O1~6cX0RTF51m*w$

diff --git a/.gradle/8.4/fileHashes/resourceHashesCache.bin b/.gradle/8.4/fileHashes/resourceHashesCache.bin
index 43e6b8fe7daa35a36ad8ffdc44fda913b9a1c3c4..0299e170bd1a58c6114ddd2a115bcc7b95cf1738 100644
GIT binary patch
delta 1202
zcmcb)gmLjI#tkMChKUWc`tB(GZTQFl2BD1qp`hVRGk-+3NhesCA*2#2{C~5lL<6J1
zx^2vA-1Fb)L1csGPF^c%$$v)gb9g}j3q&j=eDYn%0D*noUbAK@dG$gBgPA9*N@WOK
z@7Cjy?s1fX3a*{pDrKSZ*iI?_j&EryR4@}};j^lP0seJwQ=sA>CvTOq5cqiY$n?m?
zf%~C?=O;gvvgEJGdsK3G_avxT_heD&69U{PvgFg(scS(5L-tO-Djmo_BhR^7MtK%Q
zEGTlatW1W0+Jz-YS=zKdKm<cfC)dg-2<R9|%n;F7^%p8Qd-7D71_AS4W0j%_U-v-;
zg(vgM&Jggqm$XRLKxr;SFsOR+T-gSV<iMRi=B^W5pn?x!UP{&A{pcWKu?->~a(}X@
zT!27<xALOgxZL9q!C=+Nv2qy#B_A(lf9Kh@6e{RGd9Pf9K;;L`jXz8eK|LC@f3m5(
z789rDM#UfE8x212ZFcmK;Ho!fU|^7BU|<jgVS(HQMfVc3A21ost50<NV*Q<gfk6&c
z#q={FK{}4>{n$-1b-gb&{J>Ok>Fx9bAJfB|^%povgl&jDim9TeU(VP>J9+E#So!+$
zE>;#hOeF_WuPvTj$EsOTkTJ>bBU>S+iv3Q1>l@qdN_Sq2x^N*Oc?qV9zH6enMv3nI
zibr4WPFR}efvJM|O#LF^Q~d5_Tgx?<`zfEDfvLpk#Fp1Q?{9gZuiq0=*?jjiri!1>
zRmJb^4z_6CF~P#YzcK<-#S<4T56@+cnz4fGc}pf3h9aq`hX(x2+uX0#st0SH6>i*i
znB`*(k`kzj&#|BW39KvnSXsyPBld39e@qp})t;QI?_zu&_Q9;`ReW1ErV1@CiT%N@
zT%oTHY?0(vyZ@Ylp&mVc3*|(8GyKJ8O@DeNHtGF*E=)r<AG%xJ5xwiAgcxhS$H$wy
zF;&PZ9=!j;t*owudEUzlnNvM6RqR`0>brzZs@%oDe{JBdx7oKamFTC$aZIRoGTCdy
fk$v^knxB{|lq7A1&l&OTDU_^w^G@xSJ4gipyBbxD

delta 100
zcmZ3yit*+W#tkMCj6R!FB^nqf|CKbH>?Y+td8t&wWLas0$+gl3laERpPUe%@Kl!PQ
z=VUk8_{n=^B__X>t(aUZH(|1>e8uFm@*b0Q6%r;dRj8P3s;I=oZn#nLhxkT=7Xq6d
HJtVjQbiO4J

diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 3c1b49a3a3c7cef009c40d886fcf5344a686328a..8f4c4f8be1eafa911e0b426006694127242ebc78 100644
GIT binary patch
literal 17
VcmZQxT<%!==x@_91~6dE0RTKB1yBG0

literal 17
VcmZQxT<%!==x@_91~6dc0029`1nd9+

diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index 93d41b69789889bb0071a5ebfdf757a3f009a5f5..9f40e871db1454f66acd6b65c95c2a1c341f8807 100644
GIT binary patch
delta 71
zcmcbyl<~$=#tEtdTUHziP)YC<_*(Pn<g~DB3nrRA6}Z?oA?&2oVY|!5N9BXhNj#aX
e#kgN!*}farzt`|32Q@w7Ff`gJvH2(C{Qv;wuOeyy

delta 71
zcmcbyl<~$=#tEtd6N+;F*XqrDXw>^X`s+=bzKNz!1-gSPW!cN+%s&3FJ+FUNG+?q8
e<9-2Sy~yROmc8}tIkP2uljqx*%|99M2LJ%f#v-l&

diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java
index 2b2122b..fa0297c 100644
--- a/src/main/java/model/ModelElement.java
+++ b/src/main/java/model/ModelElement.java
@@ -2,5 +2,5 @@ package model;
 
 //this class represents two types of constant Firefighter or fire
 public enum ModelElement {
-  FIREFIGHTER, FIRE
+  FIREFIGHTER, FIRE ,
 }
diff --git a/src/main/java/newmodel/Fboard.java b/src/main/java/newmodel/Fboard.java
index e62afa5..853728f 100644
--- a/src/main/java/newmodel/Fboard.java
+++ b/src/main/java/newmodel/Fboard.java
@@ -1,7 +1,7 @@
 package newmodel;
-
 import model.ModelElement;
 import util.Position;
+import view.ViewElement;
 
 import java.util.*;
 
@@ -31,12 +31,12 @@ public class Fboard {
     public List<Position> updateToNextGeneration() {
         List<Position> result = new ArrayList<>();
         for(item item : items){
-            if(item.getID()==1){
+            if(item.getID()==1 && step % 2 ==0){
                 result.addAll(item.update(this));
             }
         }
         for(item item : items){
-            if(item.getID()==0 && step % 2 ==0){
+            if(item.getID()==0){
                 result.addAll(item.update(this));
             }
         }
@@ -53,12 +53,12 @@ public class Fboard {
     }
     public void initializeElements() {
         for(item e: items) {
-            if(e.getID()==0){
+            if(e.getID()==1){
               e.initialize();
             }
         }
         for(item e:items){
-            if(e.getID()==1){
+            if(e.getID()==0){
                 e.initialize();
             }
         }
@@ -67,7 +67,7 @@ public class Fboard {
     public Fire getFire() {
         Fire x = null;
         for (item e : items) {
-            if (e.getID() == 0) {
+            if (e.getID() == 1) {
                 x = (Fire) e;
                 break;
             }
@@ -86,7 +86,7 @@ public class Fboard {
     public Position neighborClosestToFire(Position position) {
         Set<Position> seen = new HashSet<>();
         HashMap<Position, Position> firstMove = new HashMap<>();
-        Queue<Position> toVisit = new LinkedList<>(this.neighbors(position)); //Queue is initialised with the neighbors of position
+        Queue<Position> toVisit = new LinkedList<>(this.neighbors(position));
         for (Position initialMove : toVisit)
             firstMove.put(initialMove, initialMove);
         while (!toVisit.isEmpty()) {
@@ -103,14 +103,19 @@ public class Fboard {
         return position;
     }
 
+
     public List<ModelElement> getState(Position position){
         List<ModelElement> result = new ArrayList<>();
         for (item e :items) {
             if (e.getPositions().contains(position) && e.getID() == 1) {
-                result.add(e.getState());break;
+                result.add(e.getState());
+            }
+        }
+
+            for (item e :items) {
+                if (e.getPositions().contains(position) && e.getID() == 0) {
+                result.add(e.getState());
             }
-            if (e.getPositions().contains(position) && e.getID() == 0)
-                result.add(getFire().getState());break;
         }
         return result;
     }
diff --git a/src/main/java/newmodel/Fire.java b/src/main/java/newmodel/Fire.java
index f3b64ee..5bf9ef0 100644
--- a/src/main/java/newmodel/Fire.java
+++ b/src/main/java/newmodel/Fire.java
@@ -13,7 +13,7 @@ public class Fire implements item {
     private final ModelElement state;
     private final Random randomGenerator = new Random();
 
-    private final int ID=0;
+    private final int ID=1;
 
     public Fire(int initialFireCount) {
         this.initialFireCount = initialFireCount;
@@ -27,7 +27,7 @@ public class Fire implements item {
                 newFirePositions.addAll(board.neighbors(fire));
             }
             firePositions.addAll(newFirePositions);
-        return newFirePositions;
+        return firePositions;
 
     }
 
@@ -45,7 +45,7 @@ public class Fire implements item {
             firePositions.add(randomPosition());
     }
 
-    @Override
+
     public List<Position> getPositions() {
         return firePositions;
     }
diff --git a/src/main/java/newmodel/FireFighter.java b/src/main/java/newmodel/FireFighter.java
index 9dc5cb5..2ca97a8 100644
--- a/src/main/java/newmodel/FireFighter.java
+++ b/src/main/java/newmodel/FireFighter.java
@@ -4,7 +4,7 @@ import util.Position;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
-import model.ModelElement;
+
 
 public class FireFighter extends Extinguisher {
     private final ModelElement state;
@@ -13,7 +13,7 @@ public class FireFighter extends Extinguisher {
 
     private final int initialFirefighterCount;
 
-    private int ID=1;
+    private final int ID=0;
     public FireFighter(int initialFirefighterCount){
 
         this.initialFirefighterCount=initialFirefighterCount;
@@ -22,23 +22,24 @@ public class FireFighter extends Extinguisher {
 
 
     public List<Position> update(Fboard board) {
-            List<Position> result = new ArrayList<>();
-            List<Position> firefighterNewPositions = new ArrayList<>();
-            for (Position firefighterPosition : firefighterPositions) {
-                Position newFirefighterPosition = board.neighborClosestToFire(firefighterPosition);
-                firefighterNewPositions.add(newFirefighterPosition);
-                extinguish(newFirefighterPosition,board);
-                result.add(firefighterPosition);
-                result.add(newFirefighterPosition);
-                List<Position> neighborFirePositions = board.neighbors(newFirefighterPosition).stream()
-                        .filter(board.getFire().getPositions()::contains).toList(); //this code create a list filtred with only the fire positions that are close to the newfirefighter position
-                for(Position firePosition : neighborFirePositions) //and exist in the firepositions list also
-                    extinguish(firePosition,board);
-                result.addAll(neighborFirePositions);
-            }
-            firefighterPositions = firefighterNewPositions;
-            return result;
+        List<Position> modifiedPosition = new ArrayList<>();
+        List<Position> firefighterNewPositions = new ArrayList<>();
+        for (Position firefighterPosition : firefighterPositions) {
+            Position newFirefighterPosition = board.neighborClosestToFire(firefighterPosition);
+            firefighterNewPositions.add(newFirefighterPosition);
+            extinguish(newFirefighterPosition,board);
+            modifiedPosition.add(firefighterPosition);
+            modifiedPosition.add(newFirefighterPosition);
+            List<Position> neighborFirePositions = board.neighbors(newFirefighterPosition).stream()
+                    .filter(board.getFire().getPositions()::contains).toList();
+            for(Position firePosition : neighborFirePositions)
+                extinguish(firePosition,board);
+            modifiedPosition.addAll(neighborFirePositions);
         }
+        firefighterPositions = firefighterNewPositions;
+        return modifiedPosition;
+    }
+
 
 
     public void extinguish(Position position,Fboard board) {
@@ -52,7 +53,6 @@ public class FireFighter extends Extinguisher {
 
     // implementi liha pattern visiteur
     public int getID() {
-
         return this.ID;
     }
 
-- 
GitLab