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