From 34ec0a4fb854840075f5c52526ee1f8eee575a27 Mon Sep 17 00:00:00 2001 From: m19023837 <chadi.mansour@etu.univ-amu.fr> Date: Thu, 28 Nov 2024 13:23:36 +0100 Subject: [PATCH] Moutains added --- .../executionHistory/executionHistory.bin | Bin 94827 -> 94827 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/8.10.2/fileHashes/fileHashes.bin | Bin 22147 -> 25097 bytes .gradle/8.10.2/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.10.2/fileHashes/resourceHashesCache.bin | Bin 25875 -> 24787 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../java/main/app/SimulatorApplication.class | Bin 3184 -> 3221 bytes .../java/main/controller/Controller.class | Bin 3585 -> 3657 bytes .../java/main/model/FirefighterBoard$1.class | Bin 763 -> 811 bytes .../java/main/model/FirefighterBoard.class | Bin 9046 -> 9498 bytes .../java/main/model/ModelElement.class | Bin 1460 -> 1524 bytes .../java/main/view/FirefighterGrid.class | Bin 2734 -> 2799 bytes .../compileJava/previous-compilation-data.bin | Bin 21340 -> 21344 bytes src/main/java/app/SimulatorApplication.java | 5 ++-- src/main/java/controller/Controller.java | 4 +-- src/main/java/model/FirefighterBoard.java | 23 +++++++++++++++--- src/main/java/model/Initializer.java | 22 +++++++++++++---- src/main/java/model/ModelElement.java | 2 +- .../java/model/SimpleFireSpreadStrategy.java | 11 +++++++-- src/main/java/view/FirefighterGrid.java | 4 ++- 20 files changed, 55 insertions(+), 16 deletions(-) diff --git a/.gradle/8.10.2/executionHistory/executionHistory.bin b/.gradle/8.10.2/executionHistory/executionHistory.bin index d272bec8c57c280c71a26cb9b0aa10bf9f185d95..f567d5f7ce5b11998269acfd4c7d8a9f89b82b5a 100644 GIT binary patch delta 2416 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 delta 1946 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 Jv#d=&3INe4Xx9J$ diff --git a/.gradle/8.10.2/executionHistory/executionHistory.lock b/.gradle/8.10.2/executionHistory/executionHistory.lock index 2f4203bae8d2a9c93bc24f9885e80fbd8ed8195e..41256fd6bdd2feeb94411d3f9c8abf8dd3f964bf 100644 GIT binary patch literal 17 UcmZRsO8#f>m)m%p0Rnyk05l;58UO$Q literal 17 UcmZRsO8#f>m)m%p0Sp*Z0W*&ThX4Qo diff --git a/.gradle/8.10.2/fileHashes/fileHashes.bin b/.gradle/8.10.2/fileHashes/fileHashes.bin index e9c1239a490550c9a7aafb79ea24146e616cbe0d..d5a8d63e3c99c5de7f76ef64fcf34933be1ab73d 100644 GIT binary patch delta 4480 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 A0RR91 delta 1291 zcmeA?!q~i)af68jqvvE_iHga0B@8C#N=}$8DkU-5RZ4PlnUwhCrBV`;uS!WwW|cOW z%qt@?IaJ0#;OTkRTPcz&m>IwzEO7E#8H>rHvJ#V*%6d#bDrX?TVN&wG@p^G6Se_wt z_heali^+54Crpl2@R)p6VZ!8EMT5y-6+JWp%x<k`t(YkfQ5Yuw9|{7}A1N#U43mI} zhlWp1RhltbRM|ivX@aOS=Tn|UsKndJbCoRw@>l<GyrJ#p1r_X^{8ZUua;l0I6Why; zia*3R8W;#p4i8mkURP*3xi(a9@>GweAj93WrXH*4`h2%|e%Q){ojVv97$+Ca@ZJS6 zg9BuNo-qRhgC+w5gCYnEFf*||)HZ8futb)@N=n@<1FGX3R7ddS`Y`p$6FmJDWGre9 z`ZJXV?$OdXu+wYvO|ZggE2csenrTk{@9Co8yn|t3!<*bBmvfyDH|#jS8>A?&zD5tC zi1qm7#yH{0J>kNWJH6x-W=_>L5$E?d(RL46Y|Jv*0<3slp)^D>+s(;$!__Ch^YRZ8 z{Ni{_V#&N)no%~tm&rTK1Su?<@N7OrA)^2T0|T0`=Bar+`d;R5)BQk%Da)R94@gH| zwPzVb2iv~MOC!{oLw1QyJ|7{a@K1u>-^M%RLA)4uh+eKjEl6?E%sf7bV(vGSIV07X zCp_Ce**H>vvX74;OOb}blgW)fdLYK<$-g6|6wK~!KiqjBF)F*^!-sCJ<c|;|3U5G+ z;8ULb)<=z{NW+kCa(tAOg4+pI3679oJ`IaLOh2X_`U|XjMnD`yHBZ6hKwmYMq8R}x zldFBD6l8KgXqk)Lx?;9b%xO<#e;!D6UVVKGL^XTl<iAnswuz0b5I$ciW@rexF|FrH z=w7%vtSQyI^#M4bi!=<+LUeE~otzl0&OG7WrODmVQVP@abFNM75wK_~w_+`G)UX6u zS2QEQ38GjzY;vt1*em-czmL|NeAO=?NU?H3MKPxi1G~zVt2c9xz5(l)@XivVgLMn0 zgZjL56GW3w?zUh(;+e2&qYFq!UbW9bhz`#6llRA{Giw-TOkU_OrLh0m;*4ECGFxNV zVkdBjYx{r{7tIJTg(znFJy|&x<odglePg8*8pFjquU-|)`A{Y~`}m1NI$*^!3tvDK zbFG_f9{_T_k>KQwvHHw23*S$k9U!GJ!A?0@HF&;)=VAM!Pp6!$g6JyZh3E>7ncNts zHu-nJGX?dMmCK|pT&J6EQ>*@8Y4Z-OFt}wIL}BXQ&5S`Q%#&Xyh;pwhREG#M+?!k& zARK7E^^l_AX7^0i`r4*!lV-5SX)9_VY6SmdhSBMiXM2;9{SWvpN;&^9@9h<^ju`=k m5FJ9(Cg&%D!f5^EnTh($Av=FgKAot~pV;skA}^o<G7$g{gp$_) diff --git a/.gradle/8.10.2/fileHashes/fileHashes.lock b/.gradle/8.10.2/fileHashes/fileHashes.lock index 1b189eae87aec7e4ebe829113003dcaecfda3b4e..6795a91ed07dcef1a1806b94068b6e52bc41e914 100644 GIT binary patch literal 17 UcmZRUE=)E0=%H|g0Ss6@0VjR~k^lez literal 17 UcmZRUE=)E0=%H|g0Swss04K!**Z=?k diff --git a/.gradle/8.10.2/fileHashes/resourceHashesCache.bin b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin index 0aeba1240cd74ee4653e37f5f98873ffe354b6ab..349443662d1a52034982aba983801e0138f4ff52 100644 GIT binary patch delta 1750 zcmbPyit+M6#tkMCnmZfR-I?b6%GYK9gP808p`an^P({7)D|4_ggXh%Au@VZC*Gfoe zv|jP5GrWG`Geja`BUJtWHj8k{h9JK;5b+rQ$yX&TCaX#&PM#;JFVLS}k|@mC+6R%0 z+dTQGWZ+~ysf5YPqzw42uddv_`61M%`1;9br4%O1N++uGteC#|Vu%)0k2cJr`E6Dq z-{TJLhls}?p4=-PAh6t{c~@W091n<KobTkf(iW3#Wj;)fmGzjsS5}QF`uOChvWooD z3NzI1%H=?mMK7HkE2l7ds+@$tdA@|nEMISXLL}n8PrfRrClwnHv-9Haoc!zj9)?iq z{K>NN3KrLvS~o57u-yj{jM0TDzPZBVL-V=`Q4sN1TbTH*fCrn)-=*xDyi{Ie@>BT) zji)hv-$Gxe8ABAtOTrXBowT@U<*|II0Wm)(+bRUAt1jUVO-Ne|QJbI%Q~T2WeMY{V zg(*ZlX6xj+3JR02D%df_a8K4%446DsF+t$ZlTT(G;(m@0HPOwJ-zq9-{M%!m)|h6} z3=xcNgc<lhH~(wHo;RBy;&Br<%PK`M3J91B-!HUSauFgLzi{$gWyQ(Yl*I*v9xj$% zKKIiNh(zq-$*wAKOwlhVFIBM+P`wfSLv@WBFGMbmbMjRcJ*k*Nm`$3mj-*&mnZyQ_ zzB*Y}wPEsERgcNKYLfif-oKbPdh$Tz61*qps{IhKW_*3(q{tUes9^5oSapTTQ`IL- z&ef0*@Z}a;&na)R5h59Tbn;XUg~@+4=1Ij{!z>KuOYmHBuv8JEBtCZXSxp6jkXv$- zc7|6ZLIs~r{;N5YzjDzMx0jA#5V6?jllN*V2xRoSc5gW}?H)uhp?~sKt&GW`+8&e7 zYI_J&t8C)$-Ffg9L^4)-vaOCHf8*Se$AWXAE=pjZ9IE5QB$&BT@rU?EgAHt(9X$es zjSA1c>lEgXoxOg)$JS39@2_WIV2}eP2uTJ820;)OXfZl+EG+QXI};B5r|-1<k4=8) zCp>vxLc749h<N!2_t$iApR0}txBYx+vT&k_(YMb<{*rnUI%c+(X+^icFkzY}_D+Ly z7t4C9*^Bf$x<q$2O`aGfY^bEtEM@2M_vnq6ETtx<Mwq((sJ@@`qeteHMTE`q`uyq1 zlQR=c1Z?XW_&1m=naLC!euVw2;oixslS~98m!7gewbkA2punr_sI6NgC%;cJsTcSD zR(geR+1X`+eLS`<hFdW$XkPSV=UMAyN9Bqmg0JKRL1B*;5N`|9_Re`!;C=o~y-WcA zyB<t4X1d)!a^$@H%!_{=Z~W8_{|;Ay2u-e*{n5Kl9NT~Qs9s{f%Y6CCjgi8W_oO)2 z>-rrkNW4EQ*Wh9P%eguk)8TqSkpRL1PdOhd=`2Z6czo>J`(uX%tT9zwS(l;uzci)O zZriSD9NmSW_(Su<wMS<HS&xO=>2Mxpn$q>a6>i4lZz-~q-BS$ewT>T}Aa(DdU(@=f z2{N1k?Qj(!H-NCfDcO@z68~>4u3I>tr@n5k8K#OA-|_=={@SW+-xHIf78HynER{~w zdCe%aR+=a7E^iw9GX`!(J;(|W7I@QtZR*ZcWi98^XD#h=T@J#PfMh{f;J#DaHld$( zXO`Z)(P4M;KPaE0c~>_-`PuExg%e^`cO3AWWABG)#tII_eF85x9!qfW{<Eo&i&+U% sNyJGnM)pZwsoE7Q3!L-LF;8CTB`oZ5BeIl1{b$YPRSxRE*wR6|0Qdw~fdBvi delta 3522 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 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index cc5b4199f6c5be3ce5ef9cc7e3475cbf712d34eb..9d683f8b3c97ae148796b21c6603b9159514adfb 100644 GIT binary patch literal 17 VcmZR+;bwJ3Kx+R{1~6cp3IH&s1atrZ literal 17 VcmZR+;bwJ3Kx+R{1~6b+3IH&;1cd+q diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class index 8cdb4ed274b5f200e38a2680759e2fac291ccc49..dc15d24f41d9b56ad21c677748caa45a03a443f0 100644 GIT binary patch delta 268 zcmew$F;#LyB{MURhUeyL=5vgS{-G}M&i<i(A&d;7o_?Moo{m28zW$*hj-GxH@y+3^ zb<B*sldo~i7c69uWGH9IVqj!QXJBApVkn$k#yL+^j)9dyo`H`+fkBEvkwJ+;i9wS= zd9o&#Kd(9iD}x3DCxa#fFN4<PRxV@C*$i9^EDQ_`){_r%nMQDMY-8}*2sWycfq_Ae zft`VYL6?DpL61RzL7zdC!GJ-5!H7YF!I;5{!IYtjfq_8_qMf0dp@xBhfrG)Ap^>49 zfssLgL7SnOp@o5oL4!efvM+ZauLT1SgC&CqgB61`gZ1Rq+-|IP3@i-xlfQ9WGb&6r H;;{n&_gXGx delta 231 zcmbO#`9WesB{LJZ#^xI4bBuhBp)T>x{-J&$%nS?+%$u`W>zEmNCcomC&saWr7Uw)s zSq4@HIR-ukc?Ky41qLMsMFvd<rOCcr{=8}otPJW5oD3QaybPL?S8^G1&SKzXU}0cj zu$ugo%QT#A8-veA1_lNuhDrto1~~?H1_lNl1`Y;Y1_1^=22lom1_cH~1`P%y21^DL zhAIXI1}%tghH8cy1_lNW1|x<>h9(9^1_1^whGvEq1||j#2BFDC+=0C23_J`L3?dAc d4AKl%lP_?)vDz}QFxX9&=CNj!pB&C(2LL|YCB6Uv diff --git a/build/classes/java/main/controller/Controller.class b/build/classes/java/main/controller/Controller.class index 5f68e7f4e063d23203364a3372c90dffc83ea3d6..00792338e3a8a4002978bd91ac30ddd07c212774 100644 GIT binary patch delta 404 zcmZpaIVr<+>ff$?3=9lT467z`g|l#JczSM3zRSwOqv7c}*@-PvRWLIzvm`SyCpjm- zG{rf;G_Qn_K@=+H3*shb<`qv~!uFYQ#^f37vhuUI7<d_G^Ds<cm?*$7k)MrW9v8!W zh6U^l3wan8F)ZGEg<Y7DWf>!b>g0M3S-xTwpZxsn(gJpd6^smWAfd^|oX=$#nHabk zxEL51(zJFnut&;@vWT*ZvWc>ba)@$HHsVUHmtat5&|uJF2xQP^h-A=Xh-J`cNM$f! zr~~PN=wzs8XkY+=G=?UIW(G#EObbIZ0~46l%FxWf3}&@4G&8V(S?vtX46I;Q2SYOh z8<^F}(9FONW_2+%GjM=e-5d<f44e#13_X*%xU(30Czo=EF!oJ8#qGn`zge88ijjE& z!^Fu`cx?<PF-&G)WMF2P!oa}5#4wd%8Uq6Z4+A5^Tn1)_=?pU&<}fT_U|`^4U}RXz Ku$*BfgCqbZoLF1{ delta 355 zcmX>p(<sAr>ff$?3=9lT3@avbg)?zzY)rk&%EYBH*^Mo8@@=*^jMFBcV3(Dj!NtJK zFq4O&kD*_Hp`V|PVGb9=T!wk<4D)#y7BDQ_%)%ke$g+fyL3Q$a4q3ip6`%b4?9u{u zhGmQlav-6}$(+w67+x`OGjK34FeGX1W?+w$6=e}+6=f4;pPa^(S}($&&Y;4e#o)`J z%@E3<#}LV&&ydJqz);7)zz_t{#Zb@CzyJbC3{4Ep42&R?7+M&b8JNJVR)%H<W-zOb zp_zdN%xY(7W?%)gIvAQ6*ubn#hGqtK1}26s1~vvJh8hM2hCl|!$#L9qjNOy>a)&VX zOpfOfovhAdK6wu}*X9hKLPq93hW^QScx?<PFid1%WMF2P#K6G7#4wp*3IhWJ4+A5^ eYzAhAsSMK@W-%;cU|`^4U}RX#u#{mrgCqbTI7!6- diff --git a/build/classes/java/main/model/FirefighterBoard$1.class b/build/classes/java/main/model/FirefighterBoard$1.class index 340e59817ded726fe7aa0bc607d15840ee0e0c47..50363e95c461a5ed1a144909bef70c30f2caf46d 100644 GIT binary patch delta 231 zcmey(x|)sa)W2Q(7#J9w7>qV@=`)IRGB7bH@-Qed2rx3R`}&85IC}cAGpJ0qVVupP z&&VJ)F<xx)M@D&7Wd;TYMga*1ZU!C@i-Chdl|hYxkwKk-fngs5GXo<714HO!QzloT zO$_Xt7!<ZK2y*x@XJGN($iO<emPs+ol_7v3m_d|*nL&erfq@OIA(26ofq{XEfq_Ab zfq_Aqfh(MyL6pH43&Fs`pbb{4!=TH+z`(+w$H2f~02a|>Fl1n0;9_88;9y{2U=ZK{ E0KCK;QUCw| delta 177 zcmZ3@_M4UK)W2Q(7#J9w81y%C=`%93Gbm0DV4TgUGx-gpg{lGr0|TRg1Oqn%4~WIU z!Jx#T%)rQ?!oa|=h=G}bk%581ZL%kmEAvJMmdOj46l0kgR2di;*uXN83~CGv3``6R z4C)LF3}Or%;p_~e48EuY0}F!&Sd}J&76StV3xhTT1A{JDM4Lg6fq{XGfsuiOfq{WR GfCB(!Boki% diff --git a/build/classes/java/main/model/FirefighterBoard.class b/build/classes/java/main/model/FirefighterBoard.class index 5d0dad747dedc784fd9b0104c23704c1fac1e7e3..6dfe63690e08e385f5a68dbef03a51342697a22e 100644 GIT binary patch literal 9498 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 literal 9046 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 diff --git a/build/classes/java/main/model/ModelElement.class b/build/classes/java/main/model/ModelElement.class index fe891d9e06c9418e7108a3585c3bace42b77ae48..873561ee1e63e20eb4cddda40a1cc402c0e986a1 100644 GIT binary patch delta 749 zcmdnO{e_$B)W2Q(7#J9w7{VuVO%r8fWMKF84-Ikj^y6e;WDw_JkYJFUxKM>#nn8x0 zL6V0-mO*af1x0QJ21RxTB_0N429=3_LOB!|)OZ-w88jwGGODp@@i1sJ=uB>9R1(r> zWME0kDNW^KU}P`^sW6(nlhMH2l#zkCC^dzHfro>^f{}qEC9x<wy(qPkgMpue!J3hQ z1;P>HV6bCkU@gzcEJ@{H5anQSWMp7XD#|a<1DWT{!{EZ;x>=3MmyuP0fq{Wzas{(S zy@Mo!C<7Y<1A`FA5ey6hQXn5NFfgz&a5A_txH2#@xHB*?C^0ZHfB@Gf2C;1nQU@5M zH!v_TFfw?6Rf6PL7&sY}89W)7!0JsHn7}%?gc!AUFvuTZU<9dWLQ(I<z`#(?15w7{ z&7i};z~IBcz`)ALz|g?Jz{H@=V8p--HqC>9nSq6Yfq_R$TV^|hs+R6n2F;BOAT=QS z`52fP7#KJi*ciANxEZ(^K<0`uFoD!F_=5e$zyJ<n24=7Yyvz&?0t^rw&%nUo2R6x{ zfsrAAArR_ceFjFb!&tSpFleGXoeyjU#O16ID+IVefeY2_1a>R~gO&i><S#6W^^qK# z7=(jCrl1BG2SX4;FjP-111l(e84`ChFh&aLG7IT#XE4~zzzpUZvj~}hx$I!B8LN;v zn9Bv`TCxdQfw{b3t_{18Eto3+=Gt?Z3ORuJ!aEq8HZzEU0uJI1E^r{RGDI=3Ffc)b LA%r0m92{W)nEqd1 delta 676 zcmeyuy@i|W)W2Q(7#J9w7y>79O=A?BxK)K)f<cm<L5zn%ia~nf6Gd)W203;Hc^(D@ z2F1w&jG-K|49YwVDh#TVa~ajx)Oi>*7&Ir(WK<H;VPs%Q$|+6dVqj#@1F6uT+{Yv~ z`7xuEtq~&wb5Uvv2LlfWgDE2eM@nK*c6w22B?kjP2ZIG80}F&B#KB<A$iP~jky!#Z z#g>P`j=_Gj2a_)&t1JTp1N-Dz%o_C!LLe&{7zCskL>a^w7#P?XI2jxm>=_st92poG zlo%KpK!9r#gYY&6@dFGJ8yFZE7#W<vDnW8A44e!K49*NpVD%;pOkf>cLX28F7-SAG zFoM)Gp{RFZU|`^ZsA8~iWzb|`U~pq#U|?lrU}#`qU}8{V&}U!<o94m5%)kOtt)(rq zok2-UcPoS1Mh1`?r^$^h!u24N#2A=BDj3`u*gy_t00$uhGuTL8W(EcU1_)+gVDJEI z^<-dV@M7?WdQhK%5$qIJtt|{{=x*g>0NDU>D=WkX0WMG|LNs$TSc9F%z@W@AS)Ns~ z9;6>NY&aNv7<?hB8S)rd!7dEi&A=Ebq{S?xy`4dKGXpc2YrrC82<EbbxyGzQCSWcX zm}|x+WDe%?g1MILLRMg|zzznR%?!ezFkxhHQea?U-~tB+D}y%!3j-6>$9@d{V4nv7 E01duV&j0`b diff --git a/build/classes/java/main/view/FirefighterGrid.class b/build/classes/java/main/view/FirefighterGrid.class index 37d92b1265d1f3a542d09824b51c0426c2cbafa8..09f09cb8b7734d04883d1aa19b58d938f72c765a 100644 GIT binary patch delta 870 zcmZ1{`d*al)W2Q(7#J9w7}jp&vS6v_WC&s?<zXme2xnwq_w^4AarE@#WQb&_;9;m_ zh-GA8bq{iN_2XjjWvJ$1s9~sOWME5AEpg7zVPs&|(DVdJ)blVjz$Ak5%efeI8Jc() zni&ik89351b8>=GlS@EGw(>BvfsEwz@pShHaSw8g<YF+@W$55x=wwJ_WZ*1LEeS3u z%Fj*(nb6I{&;v4os~9W<GJ}hOgQ1Uyp`T&G<O?kJqLX+SCWDM)ftaMrFqMa4+GZ8j zYm9c&85kJ!85kKD85kH?wYD=bZe(C!U}BiTz`(!;7UX7_$-uzC17@=_%wm|$z`(%B zFo$6-10%!q$rkK(j58*ev#axiRM|1GF)%Rbf>cdj%Wf__4{XMC1_s7Y44fc2Mz+b{ z*$o&kP1fMhtq+o9-NcZzjDc5s6GQ4YhPdSn4j_>Xh)6bAL=PmA2N5X*i^zaPN+2TT zU=c3uO$;E_+LA2W7^<|kFbHI{gP3(%TNs2h+Cc&!Lb!b!L!<U4hL&v%?I5M51k`pd z|F5m3y^Wz46e29(5Q$?DpZuM}y55LkE`u?{at2d|bqtmaml&)VZZcRi{AI9VWMHso zWMyywhnWcjD}xKePKNmm3m8}!d>J+{EMy30U}dmoIK;4sVKD<U0|O%)D6AM57<d_e zGAv<O%D~953>w-HRm&Ne8CEbbFlaGwa{OhGXJ^o5XRx2Vl9S(8knKN1AOjOS0|z^U zE;!Em876?@gn@zK0s|+=bcQhPO$-yaF|;$=%4lt2U|+<bpbcUOWVG`^X{~Jxn%fwr zOlILyOPkWd#JK$bJ&<>q!QNG3;9y{2aA9C)aAgo=aAVM5aAnYA@L;fD@MQ33@L&jK x@CJKSi-CoKlR=eXB?Auw6N3SRD#I!;i-92w>OBw(;=L7<Cvb_guLe7K4FDEvyWRi* delta 751 zcmaDax=xhq)W2Q(7#J9w7?yA3vS6v_V(?`s<zXmeC}(6~OHVCv&d*_FVAjy|1W8o# zFjT=Lg7V9`7<3tGco=FK3>g_X(lT>$f>M)9I2j@t>UkI%7-AV2IDI_bJwn`r93w$W zn|K(S84?*8IEzzDf=i0>vr|E$tvn2EAOpCHK|=hgATziaI2by37&;lcCVykG7wzF; z=mi<a0yC+fhhf5IFV<^}j1wm-vWuxtVqjokV_;-pVBlt$%)r3F17@=_OktSHz`(%B zFpXh410%!4$#Lv<jFTqMWmo41sj_2WV_;y=1*w{RncZA?2H1>=3=E9d892dmUna|P z7%(1~?8l*7?;y##i6Lnj1F!ZbhSY5gamyL>Kq46sk!-Mt3`isoB2owz;nLp30Fu*| zWZA}0qP2xVAfp|`tkBxRAe_+-5&#jx?b{ftwKp-;ZDVM}u2dPMOaMfH)V3`DZ>y!f zjiG%b0|NsK1IYhj45E|uIjwVz8RjsUGaO*BU^vcT$?%%Nis2oDEyHI9J8;ODFt9SX zFf3=7$uNt7g~69$9>Z*ga0XTeYlaOBa~S3_Ff%YPd;x_B0|Nsu!*hmt4D%Tn85Tgp z6ryS&12e-S1_lOA29C-1IVH8({xbwJFtIamuruf~FfcHI;tdqs3=9kx7&yU3hG}nN z=-$TAI9Y{Dfw6D0E0<bYUkelC^8fch9$*H0K#73^oDSI;oEZceTo^PMoEh{O+!!nv z+!_2C+!#U`Ji%VjVqjt5WKd;T%)rCI#9+Xn%CH2?Vqge^Ivm7;IDFCMi(KODOTn&M F1^{E?q@@4= diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index 4ec4d11099f238606374670516d33c8f2f1da147..a8677ee28dfc53505bfb2ab19387baa449307753 100644 GIT binary patch delta 209 zcmcb!jPb!T#tAk8w>U1la;P3maA@9ZB_-9ra-xr+0H4mX=#0)Xx3U$&7aDpK%_jEd z8VU!ST5Rd>IODM9+@H`OjybZPjB*U!d6^}di8+~7sYL?nT2p<47Z&NOvA^i{^|?NE zvNof<fZ)-iOF9}CoB1p`AAEI#LDS?YMje5>l}EhhU0?0d))+tK>ued<$<r831p+H4 z$;_Wr*3q-^Hdl+G#KFn88E**)S=o!0@Sl70<d~1ujvZ2WHXmh*Wfox7e)%nV>Gdrp R%Mw=1`V}UyS&vQ67XU@hScCuo delta 205 zcmaE`jPcGg#tAk8)AMt#P3#e{Xezg2EpybcoakdHu>aZOj9ou6TVvQ_Cvb>s`%LW3 zH577VTF;fxy>N3_Q>u6C0}EMCMmdJ=yv&l!#GK5k)FOe?DbMyMCHo)nTa<GCVcy#- zleHP;1<dYlKiqjBF)F*^!-sCJ<d2i17<B|1!^JzVUKPvvP$oJ1_=!V0lczD73Mf`C zs3_*tVPIFea`k5J(KnNCGu{$#JE1DU5%SBYVbO=_$FxI#Z9d8r%gn>F^!gT)WeF>0 Nv1jOSHe%EB1pp{WSd#z% diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java index 31689a2..cb0f20e 100644 --- a/src/main/java/app/SimulatorApplication.java +++ b/src/main/java/app/SimulatorApplication.java @@ -20,7 +20,8 @@ public class SimulatorApplication extends javafx.application.Application { public static final int INITIAL_FIRE_COUNT = 5; public static final int INITIAL_FIREFIGHTER_COUNT = 4; public static final int INITIAL_ROAD_COUNT = 10; - public static final int INITIAL_CLAUD_COUNT = 3; + public static final int INITIAL_CLOUD_COUNT = 5; + public static final int INITIAL_MOUTAIN_COUNT = 5; private Stage primaryStage; private Parent view; @@ -48,7 +49,7 @@ public class SimulatorApplication extends javafx.application.Application { Controller controller = loader.getController(); controller.initialize(BOX_WIDTH, BOX_HEIGHT, COLUMN_COUNT, ROW_COUNT, - INITIAL_FIRE_COUNT, INITIAL_FIREFIGHTER_COUNT, INITIAL_ROAD_COUNT,INITIAL_CLAUD_COUNT); + INITIAL_FIRE_COUNT, INITIAL_FIREFIGHTER_COUNT, INITIAL_ROAD_COUNT,INITIAL_CLOUD_COUNT, INITIAL_MOUTAIN_COUNT); } private void showScene() { diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java index 8800ae2..1b7d8c4 100644 --- a/src/main/java/controller/Controller.java +++ b/src/main/java/controller/Controller.java @@ -33,9 +33,9 @@ public class Controller { @FXML private FirefighterGrid grid; - public void initialize(int boxWidth, int boxHeight, int columns, int rows, int fireCount, int firefighterCount, int initialRoadCount,int initialclaudCount) { + public void initialize(int boxWidth, int boxHeight, int columns, int rows, int fireCount, int firefighterCount, int initialRoadCount,int initialcloudCount, int initialMountainsCount) { // Initialize the simulation board and connect it to the grid - board = new FirefighterBoard(columns, rows, fireCount, firefighterCount, initialRoadCount,initialclaudCount); + board = new FirefighterBoard(columns, rows, fireCount, firefighterCount, initialRoadCount,initialcloudCount, initialMountainsCount); grid.initialize(columns, rows, boxWidth, boxHeight, board); // Initialize timeline for automatic progression diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index e545e70..cdc229d 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -13,6 +13,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { private final int initialFirefighterCount; private final int initialRoadCount; private final int initialcloudCount; + private final int initialmountainsCount; private List<Position> firefighterPositions; private Set<Position> firePositions; @@ -20,23 +21,26 @@ public class FirefighterBoard implements Board<List<ModelElement>> { private final Map<Position, List<Position>> neighbors; private final Position[][] positions; private List<Position> cloudPositions; + private Set<Position> moutainsPositions; private int step = 0; // Constructor for FirefighterBoard - public FirefighterBoard(int columnCount, int rowCount, int initialFireCount, int initialFirefighterCount, int initialRoadCount, int initialcloudCount) { + public FirefighterBoard(int columnCount, int rowCount, int initialFireCount, int initialFirefighterCount, int initialRoadCount, int initialcloudCount, int initialmountainsCount) { this.columnCount = columnCount; this.rowCount = rowCount; this.initialFireCount = initialFireCount; this.initialFirefighterCount = initialFirefighterCount; this.initialRoadCount = initialRoadCount; this.initialcloudCount = initialcloudCount; + this.initialmountainsCount = initialmountainsCount; this.positions = new Position[rowCount][columnCount]; this.firefighterPositions = new ArrayList<>(); this.firePositions = new HashSet<>(); this.neighbors = new HashMap<>(); this.cloudPositions = new ArrayList<>(); + this.moutainsPositions = new HashSet<>(); this.roadPositions = new HashSet<>(); initializeBoard(); @@ -62,6 +66,10 @@ public class FirefighterBoard implements Board<List<ModelElement>> { for (int i = 0; i < initialcloudCount; i++) { cloudPositions.add(new Position(random.nextInt(rowCount), random.nextInt(columnCount))); } + // Initialize Moutains Positions + for (int i = 0; i < initialmountainsCount; i++) { + moutainsPositions.add(new Position(random.nextInt(rowCount), random.nextInt(columnCount))); + } // Initialize neighbors map @@ -107,6 +115,11 @@ public class FirefighterBoard implements Board<List<ModelElement>> { result.add(ModelElement.ROAD); } } + case MOUTAIN -> { + if (moutainsPositions.contains(position)) { + result.add(ModelElement.MOUTAIN); + } + } default ->{ } } @@ -132,10 +145,11 @@ public class FirefighterBoard implements Board<List<ModelElement>> { @Override public void reset() { step = 0; - Initializer initializer = new Initializer(columnCount,rowCount,initialFireCount,initialFirefighterCount, initialRoadCount,initialcloudCount); + Initializer initializer = new Initializer(columnCount,rowCount,initialFireCount,initialFirefighterCount, initialRoadCount,initialcloudCount, initialmountainsCount); resetPos(firePositions,initializer.getFirePositions()); resetPos(firefighterPositions,initializer.getFirefighterPositions()); resetPos(cloudPositions,initializer.getCloudPositions()); + resetPos(moutainsPositions,initializer.getMountainsPositions()); resetPos(roadPositions,initializer.getRoadPositions()); neighbors.clear(); @@ -173,7 +187,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { for(ModelElement element : elements) { Strategy strategy = switch(element) { - case FIRE -> new SimpleFireSpreadStrategy(firePositions, neighbors,step); + case FIRE -> new SimpleFireSpreadStrategy(firePositions, neighbors,moutainsPositions,roadPositions, step); case FIREFIGHTER -> new FirefighterMovementStrategy(firefighterPositions,firePositions,neighbors); case CLOUD -> new CloudStrategy(cloudPositions,firePositions,neighbors,rowCount,columnCount); default -> throw new IllegalStateException("Type de modèle inconnu : " + element); @@ -232,6 +246,9 @@ public class FirefighterBoard implements Board<List<ModelElement>> { for (Position roadPosition : roadPositions) { updatedElements.add(new Pair<>(roadPosition, ModelElement.ROAD)); } + for (Position moutainPosition : moutainsPositions){ + updatedElements.add(new Pair<>(moutainPosition, ModelElement.MOUTAIN)); + } return updatedElements; } diff --git a/src/main/java/model/Initializer.java b/src/main/java/model/Initializer.java index b5d4dde..575b4dc 100644 --- a/src/main/java/model/Initializer.java +++ b/src/main/java/model/Initializer.java @@ -4,6 +4,8 @@ import util.Position; import java.util.*; +import static app.SimulatorApplication.*; + public class Initializer { private final int columnCount; private final int rowCount; @@ -11,6 +13,8 @@ public class Initializer { private final int initialFirefighterCount; private final int initialRoadCount; private final int initialcloudCount; + private final int initialMoutainCount; + private final Position[][] positions; private final Map<Position, List<Position>> neighbors; @@ -18,20 +22,20 @@ public class Initializer { private final List<Position> firefighterPositions; private final Set<Position> firePositions; private final List<Position> cloudPositions; + private final Set<Position> mountainsPositions; private int step = 0; private final Random randomGenerator = new Random(); - private static final int cloudCount = 3; - - public Initializer(int columnCount, int rowCount, int initialFireCount, int initialFirefighterCount, int initialRoadCount,int initialcloudCount) { + public Initializer(int columnCount, int rowCount, int initialFireCount, int initialFirefighterCount, int initialRoadCount,int initialcloudCount, int initialMoutainCount) { this.columnCount = columnCount; this.rowCount = rowCount; this.initialFireCount = initialFireCount; this.initialFirefighterCount = initialFirefighterCount; this.initialRoadCount = initialRoadCount; this.initialcloudCount = initialcloudCount; + this.initialMoutainCount = initialMoutainCount; this.positions = new Position[rowCount][columnCount]; this.neighbors = new HashMap<>(); @@ -39,6 +43,7 @@ public class Initializer { this.firefighterPositions = new ArrayList<>(); this.RoadPositions = new ArrayList<>(); this.cloudPositions = new ArrayList<>(); + this.mountainsPositions = new HashSet<>(); } private void initializePositions() { @@ -65,6 +70,7 @@ public class Initializer { initializeFirefighters(); initializeRoadPositions(); initializeCloudsPositions(); + initializeMoutainsPositions(); } private void initializeFirePositions() { @@ -76,8 +82,9 @@ public class Initializer { private void initializeRoadPositions() { addRandomPositions(RoadPositions, initialRoadCount);} private void initializeCloudsPositions() { - addRandomPositions(cloudPositions, cloudCount); + addRandomPositions(cloudPositions, initialcloudCount); } + private void initializeMoutainsPositions() {addRandomPositions(mountainsPositions, initialMoutainCount);} private void addRandomPositions(Collection<Position> targetCollection, int count) { @@ -129,7 +136,12 @@ public class Initializer { public List<Position> getRoadPositions() { return RoadPositions; } - public List<Position> getCloudPositions() {return cloudPositions;} + public List<Position> getCloudPositions() { + return cloudPositions; + } + public Set<Position> getMountainsPositions() { + return mountainsPositions; + } public int getStep() {return step;} } diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java index 8a0f27b..e3b3844 100644 --- a/src/main/java/model/ModelElement.java +++ b/src/main/java/model/ModelElement.java @@ -2,7 +2,7 @@ package model; public enum ModelElement { - FIREFIGHTER("blue"), FIRE("red"), CLOUD("darkgrey"),ROAD("grey"),EMPTY("white"); + FIREFIGHTER("blue"), FIRE("red"), CLOUD("darkgrey"),ROAD("grey"),EMPTY("white"), MOUTAIN("brown"); private final String color; diff --git a/src/main/java/model/SimpleFireSpreadStrategy.java b/src/main/java/model/SimpleFireSpreadStrategy.java index b8f9e86..0f7c42b 100644 --- a/src/main/java/model/SimpleFireSpreadStrategy.java +++ b/src/main/java/model/SimpleFireSpreadStrategy.java @@ -6,11 +6,15 @@ import java.util.*; public class SimpleFireSpreadStrategy implements Strategy { private final Set<Position> firePositions; private final Map<Position, List<Position>> neighbors; + private final Set<Position> mountainPositions; + private final Set<Position> roadPositions; private final int step; - public SimpleFireSpreadStrategy(Set<Position> firePositions, Map<Position, List<Position>> neighbors, int step) { + public SimpleFireSpreadStrategy(Set<Position> firePositions, Map<Position, List<Position>> neighbors,Set<Position> moutainsPositions,Set<Position> roadPositions, int step) { this.firePositions = firePositions; this.neighbors = neighbors; + this.mountainPositions = moutainsPositions; + this.roadPositions = roadPositions; this.step = step; } @@ -37,7 +41,10 @@ public class SimpleFireSpreadStrategy implements Strategy { } } } - private boolean canPropagateTo(Position firePosition) { + private boolean canPropagateTo(Position newPosition) { + if(mountainPositions.contains(newPosition) || roadPositions.contains(newPosition)){ + return false; + } return true; } diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/view/FirefighterGrid.java index 4f4d0aa..39af292 100644 --- a/src/main/java/view/FirefighterGrid.java +++ b/src/main/java/view/FirefighterGrid.java @@ -45,8 +45,10 @@ public class FirefighterGrid extends Canvas { gc.setFill(Color.BLUE); // Firefighter is blue }else if (element== ModelElement.ROAD){ gc.setFill(Color.WHITE); - }else if (element == ModelElement.CLOUD){ + }else if (element == ModelElement.CLOUD) { gc.setFill(Color.YELLOW); + }else if (element == ModelElement.MOUTAIN) { + gc.setFill(Color.GREEN); } else { gc.setFill(Color.WHITE); // Empty space is white } -- GitLab