From c2881041ab21832b41b02a03430952f908632512 Mon Sep 17 00:00:00 2001
From: Celia AREZKI <celia.arezki.1@etu.univ-amu.fr>
Date: Fri, 29 Nov 2024 10:05:55 +0100
Subject: [PATCH] Add movements classes which implements mouvements

---
 .../executionHistory/executionHistory.bin     | Bin 68063 -> 89421 bytes
 .../executionHistory/executionHistory.lock    | Bin 17 -> 17 bytes
 .gradle/8.10.2/fileHashes/fileHashes.bin      | Bin 28997 -> 29497 bytes
 .gradle/8.10.2/fileHashes/fileHashes.lock     | Bin 17 -> 17 bytes
 .../8.10.2/fileHashes/resourceHashesCache.bin | Bin 23903 -> 24889 bytes
 .../buildOutputCleanup.lock                   | Bin 17 -> 17 bytes
 .../java/main/app/SimulatorApplication.class  | Bin 3218 -> 3219 bytes
 .../main/model/BoardFireFighterBehavior.class | Bin 12545 -> 8828 bytes
 .../classes/java/main/model/FireFactory.class | Bin 1548 -> 1695 bytes
 .../java/main/model/FirefighterBoard.class    | Bin 7879 -> 8052 bytes
 .../compileJava/previous-compilation-data.bin | Bin 22217 -> 22506 bytes
 src/main/java/app/SimulatorApplication.java   |   2 +-
 .../java/model/BoardFireFighterBehavior.java  | 286 +++++-------------
 src/main/java/model/CloudMovements.java       |  67 ++++
 src/main/java/model/ElementsUpdate.java       |   9 -
 src/main/java/model/FireFactory.java          |   1 +
 src/main/java/model/FireFighterMovements.java |  79 +++++
 src/main/java/model/FireMovements.java        |  64 ++++
 src/main/java/model/FirefighterBoard.java     |   2 +-
 src/main/java/model/InitializeElements.java   |   5 -
 src/main/java/model/MotorizedMovements.java   |  79 +++++
 src/main/java/model/Movements.java            |  13 +
 22 files changed, 380 insertions(+), 227 deletions(-)
 create mode 100644 src/main/java/model/CloudMovements.java
 delete mode 100644 src/main/java/model/ElementsUpdate.java
 create mode 100644 src/main/java/model/FireFighterMovements.java
 create mode 100644 src/main/java/model/FireMovements.java
 delete mode 100644 src/main/java/model/InitializeElements.java
 create mode 100644 src/main/java/model/MotorizedMovements.java
 create mode 100644 src/main/java/model/Movements.java

diff --git a/.gradle/8.10.2/executionHistory/executionHistory.bin b/.gradle/8.10.2/executionHistory/executionHistory.bin
index 53225b6e1d3c27517a8449101ba24dd9d51f363a..1b04c929a7e6e8270dc77696abc06ecd9c56b77b 100644
GIT binary patch
delta 2057
zcmcaVndR&*)(IkvY!gL|B^ekP9wjj_sMj)p03+vp1_q5k3=9mh8v}QUPnMK$WM(wF
zy*XB*>7$P^1B1qA1_q7SAUr$Ktk~QnHzhT>Dy_UM->f7lEkDyJJ0&$SS3p#b?~AN6
zm+7<bm0vlP*WTL8h9R{1;%-46M%B#+-f^=CxIaor>-r?UkNxLubCE;lMVtSf?qv}u
zFLR$ED`?+3G4JE2d&ed-O`d&W)nuKYu9FR7S)AQ6(=$p^i+uCTQgc)DN{aQe63Y^q
z1<G%`&6ZG6vibX``jslb=@G^Sx%nxnIr?syMXBgoCO4k)0-0rsZb-5Ij`yZcZQa7c
zCY3^m_i{4ML>K~BJGn5*YjfAd^Nfs_CO^F7rjP0lpNVrfCivZHY!eOqUR$*zjBzT&
z2)OpehQHVZE=}ft*&@h!Ks4QtH9@h;cB><!EF;H)kIz<ZH)^t+%(z8=`cy{76B30%
zoIi_vB%IYkUCa5|bl<Q31X9rzHCbS*$@Y~@j1i0yi=NAG@UUUKdSrU#ym!C4B;SJ#
z`C>QO=B`fel9ra0+l>zMFwVvn4tmKsiN(bX0=o{}F?Lw|M*PmnXPUCzAFdq(+wxk8
zaSBKm+~qLkm%cUsbuMj)oa54djrm^T+pA#Z>qRCP+*O-i%)&TZYXXLz{v|8+uMls|
zbc?^(zC~Z{=b@u>R&6)B%{1BIp7wMLR>t)LZCn34MeTpl{Y~@H^+ONj=TElXp~~_a
zWV8Ysqa&lh#-t~@*Va!v^?2j^$iFLUGPW18Gp=XMcDP|>vB~~eaYpsjIUecXf3N=x
z3ZaJej4X@{3>rU-85p!O85pz@L3nmzZc#y2Re4@=R&r@hc4lgNYI#9rd9tywiNIp1
z!;uMB7oFO?Bi@T=iom*Of*3-Ol&e1Zz`Hns?_w|F6&d2shc<5x*)lcYz~;acbD0Iw
zodo7?h<>TM&|!T-;*E00&Hqj}F-`t|memXqAduuLGqrl(r<GhvABEOj>Hfm+%{U8^
zOq_G_OH<&AC(pm`GT9-HZF9pp4n~2mb1!I{_%m$wDSUm^`jy4p$urJ>9=N>XYjje2
zj^BOmnXy{NfoB(+;>#;xjFYE+cbyy%&uIns8#LcGRVYo?3!22^WucdSAY*bR<2*<}
z_~w`77iCtZA_d0nOLY`vxjoxOeHSS1?W;ZG?>?nYlVz$S<7Dy2DWTuy`SsmD@|f|K
zf%@WQ?>k?w-flE`GT$u?>5pLcHfCl90e8dNFTZ#CRW3d1`1IAZvl}M|-ZJ1g|FL}y
zEVr`U>UzC;@}66^Eb~B&zqhnm)_@o~x3yRffEZD?)g)Hxm>F;VeD|vmzdlQ&^ScNC
zK7$PS;{wXeEbBn3F5K2-*#KfN-ce>b3t}wTs%7!03*@MF9>%GtsRNcDP3D9=(wMgX
znFnLu;&AO>&YQo0%$*=T`Cys`%WjY<6DBCJ90xJh+>w-6a`)uj_iD#hZA#mnZ@c*t
z=X<d6^LZ!Vy`#!<3ZzP4qMXF~>_*1T>-IT|bG5rvA79P92<%vBvGN(Lh16o@KG<D2
zixvBNr;XkA=Dz+f3%OQpS$THhSCBUrfQuED1t51ZX6UiBcE4Ud`OIA-n@eCf{O4wz
ziJ4SjArrn~&(*y}fjoB`eji)@$V=ra*vMlFlLaOz8Bgs71?v)4M#81l5wKm5(u(B?
z$SLvnlvrkfoYHzvnPneHWX(M-j=5kXC-F>X+@UCa2&`!xBQt}5pj+Ac+~==$-`LgL
zY`R<M47hB&|FwP1bOkm>9hS{quUAhGU}IEc*$Fb~zz!Xj?I6a79d0bEK$dLCRAT7>
zi6rcloE-K*fTah-$$B6qp!1*0%h~Yf^s5e4bL19zO@Wk(@*V1xn{MlPY<_RJGJWon
RD?itN1BK-)NU5lm2LK4TnqB|^

delta 35
rcmX@Ri}n6wmI)$^EE7eI8C^Ff?hv0?ATe1|!jYNbQPSpEiKdSL;fM^Z

diff --git a/.gradle/8.10.2/executionHistory/executionHistory.lock b/.gradle/8.10.2/executionHistory/executionHistory.lock
index 06f79ed17ebae12f4323b4883a00019d0c1c7d87..e20f18574181d8ff09e42dcf6caccef815f53ed2 100644
GIT binary patch
literal 17
UcmZQRe96UU<&lZk7$D##06w<`)&Kwi

literal 17
UcmZQRe96UU<&lZk7$9IF06u>Oo&W#<

diff --git a/.gradle/8.10.2/fileHashes/fileHashes.bin b/.gradle/8.10.2/fileHashes/fileHashes.bin
index 8989656673bcca3b5670dd85268d4144e6b999ea..2b94c4ed959cc5773e8663685b0edf2ea4a98210 100644
GIT binary patch
delta 1458
zcmX^5h;ipL#tkMCjCUrRN*oaAJJ5JZz5V`51~4dEy!oxfMrQtP-=$Sn%#j0&F%(^$
zJXPj_#)Zt@3oL(5)j<S{+5bbqWwq_GX-jS~LBtDJPR^BmAaFb7#@d5f#@rCWqQcFt
zauQ4e@8)hieq(`FJXF+vbErZjBfoQT$ZB4uET|yw=B0`cm<3Gs8*ja;e#-?STIjmD
zR<)9e|DNdcf)6scp@O$Jzg3T56o_25ck`cXu?|qt^3ArIo0ynHHf~h>A->TdgL$)~
zM~;+2ani|9moSBdFIJj-6Xz|=U|?XJTw2t-7ov+JY4h16J4SiCCG*c)c>Z~(J^QZg
zozr2yU{#H$svxRVHfyEWGb(IaBruu#?yO$J*=#%^J?CV>iYouEhA3hSn%tS{qVT3P
zM?);~;ZA!erj;`c)MtPdh2MPzQ6zkI^V?JlCWXf-q2K2D_1!=6nDLf@`r>6^RaHmc
zLsaoho~#%uJUJpmgt_X-$I1B_`pk_#&QD&Lq0d}(G-@)pztrTn8KTTpN986P21-qq
z&jhh`CdURzO%BWywXHe|4HKqn1_lN_V+IBWO$G)AMGzKPsbglm_4D1YLj3wHjn3~L
zfNgI4`43{VQqAPWnd;0{NA)Jx$4X6p4mR0fvSN(XWXUX$ExwZtvp}v$ntU-qYH}@D
z%zE<1SgFbDvp_bxL(E|j$FzCL-II6Us~ualDQ$PY?dD6IV4JIs=0kL_&7aJe4YJv5
z^808hh4tBujGNc(a~9`ncd0(Uni;IP@#i9lV)>HE57UJwS7eJYR~;>$+@B3{lEUPJ
zU^-~>XE2>ISv5zWx$)Qi$*bd}CKu*_oNqk&ccj$h#bCDOWZfvK$ydQ_^U3j1Qj^(p
zL26b_md^#5$1yoDSKqekC=bL=wscG{b*NWvx~=1}`Mu%F^tnr}{Dipjw?0Hi_^Zi^
zdFqp&<o;r=I@&t<Vculss-sgUm*;~_cbdF1KasiW=#0s{1(Ug}j@m)=FkJ@wY+nJ$
zXLBcCEhwl*jX$n3PWO@-QNCVt*UWV&;YkEr8GiROL_2RirX&9;dg;wwIpfw5!2?r1
z30Hpt>nPpL57EK?5mSfpBI}-<|AI<I%h;Fd*9Wq7gSEI#z5&s~sDP<u*MU364vXK2
z-#PhAQ?~oVHL#AxU(hTsn2o8!zTRnLx4pTq|I0$IRa;h`h3Z%cv4ab4M?E6#_Agnn
ze}#B!rd#~Q_AUBqkl?O53N0)cqcJU+?sQ}3sqm>k?z<fSIwzUe0c=T1`U{99oTo8$
zc-wAy)!270C0oo~;z<AF+YIHP0;9250-{C43R8>8oRCKv)7C%pV9Z+_uKmjyY)RuU
oP`oiPFz`;m)Dga6&(*y}fjoB`eji)@$V&yP<0`}s0XL8i0HK)2U;qFB

delta 776
zcmdn_jPd9r#tkMCjF%>xN*vhCE4h++@;RC7ldsC&*nCt@fNAqvg+Rv5VM^DTH@m78
zGHpJm;m^3)RBIIzlkmZfia*3R8bq*ccJ#=RQaEnv>co(Aw<O)>=zO6Tou3R0jFU_L
zZ)j!!1CGSaXOrw0<yWZ~@+=8EA%2XrY~QZhACo|;O8KldffX@0Zq`b%XH-Zwn||G!
z$%Ws$PO!&+PEiI(QHhSvUx*?$^~s&7E(*VPY*##4@Z-g*&Zf)T+27WK6qWK>?S&{3
zKDPO7ss)om>Ta+0Ma?zok3W}B`5R=!1y-f-{|ZDE&!owUp~90RGDMga{@<LOpP|pJ
z$lx`3A&6#ToXqVnHTi9ZD6=BNtI39eQj_H~MVS>D3ns?~NlgyS6tz`k+zBy<shWX-
zLC=_hfkBgjfk6?31sn>_KQR+bdUNLD&Y6zKopyn3R%Fb9=rClQyf{;xS&^}Ma(%4S
z<mX_M+a@c<NKKZ^0@-qMvSF4!vmz7s<ckSXlWW0ZYbI}um72UhOVm`6@c_ge7I93Q
z*Bla+`}uB5qjIxU|FtD~Qy?}oNlo4xEj3v<8)W*n$?v136y`**{`#^$;LhdbDUClh
zue^jPWOxoSTJHGdhv~wTE3!qH6`52f_h*9w=k4T!Ae!;w<j)|QNpP}i4#=5BlUK({
zO)ks<89r_D??|c1i^1%blXat{CSL`!mrjn4lA6q(E6S|MlrdR87i6CQ<iK2gTSbOM
zh@EWdnBMsp7jrH01mE6$o!#kj|2Q-tu4Lwc=m<MGSusz2@{`<O%!*9<lON_yW>#b}
un_Ql+&#cIJXY$JYL}o=MyUDx-lerZcZ$k7iT?YGXUjfKx?vt+;6aWBv`tWi9

diff --git a/.gradle/8.10.2/fileHashes/fileHashes.lock b/.gradle/8.10.2/fileHashes/fileHashes.lock
index 483570e1978f2c9f262de08186ad212fda1d7fc0..3f9302b190923d39bb00d07a94bc8a04cebe5f6b 100644
GIT binary patch
literal 17
VcmZR+_F~glt9wx?3}C?O3jjq51(5&%

literal 17
VcmZR+_F~glt9wx?3}C=~2LMHt1|9$a

diff --git a/.gradle/8.10.2/fileHashes/resourceHashesCache.bin b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin
index 7c7289b756a6949b1f985b0257f895dcb4ea896f..ca9f79172a257f13e1e007f6b1634f3278e887f2 100644
GIT binary patch
delta 1599
zcmcb=i*e^6#tkMCl6xA@?K|+fO1+Z-4B{sKhl0tb5-T)%<~tldIqT>tupC2NK2+|1
z@0P00AJwfJAmXu$CtsCN5SX~-@0HHGJO?3y@rNhBl~53v^nBUJM!5@5Ac6^BC$mca
z(3oq$cjADx#x$s)H_X_%&xQ6#{VZDr5s$Cm{8e%XqrjG5&i^I~J9$GzV<#__4$#=)
zb1?9XN24o5FkvIih#m2B{C0b9m4JxHaZY|K9U!phOl-st?=>r+g5M{b$|wlzKezw4
zl;KxBsNm+!zA_q&0v9g+$(ted=Ll5v>f~J60D<dI_jj4z_k92r^qss_Hbday(L<M-
zjl682g4&Zs<rD;7&SCy5Qs&<Z5lpzeSXYiogY}7njONSth7iH{r!cp&e%#Ibw<M$l
zA|4w*SyjP8fIGhbM&F9H>!E_rCx<FD2ngSLydzX_4ii-H=;pHu5sU&lcb5cSe<1P#
zBAUQHSyt&JKWDT~YeumsL@eHV@?E6{0o&VK1vbiApN9x0<W3G%ZsZSp-7ex2b{Ha-
zC_eeDvVw-^Vo}|iYt~i}!T5zRmwMh=6m0t_H4q}6pt<>}awj8y{kQd!8~*=<3ieM<
zRaFp3l`o#d+b(Ab5sa7IT&t?VD3GUbX)mP8d><kj+c<fyS{IYx#*K<U#5Wpbux)nq
zkQ1H!)t|pU!+q7uAKO;MGS3NmmG#t}fq_BJn1O*ol7WFi5QGIDE`Gb({exw9Xxr+S
z|G(cA$5gS7-J<C5;rCoI7Z0?4Rcr)#5X}sSV@oGCER9}~|7ZFav-(GU2s7$o*4V7b
zicDx&uN+_MJ?$^|uG0u5Fcl%apO5~RJQ(}DapB&jr~YPOs_>aOcVmLzoyIoN!0)wH
zJHjwka9&=0-oqo!#p$1Ad6?mueuh*G|C)sS37_|}=ni9!%g>Mfyjhrrl$W{BkQKCV
zotXFW)4gMpL1_fdzvZ{xW=p6j+5G)e{YsVJ^vL9e(ZcomJKmc*wRH;%n^X!N-ph$;
zuI$Q4Cc8O{`IY8`t!vlJxP+;~{ZT?%*C*+H>_2atiySg9!c<XocBSlxxsLH>*`@a$
z%zw#^Pyr8VnW@$LKCR?Z`Y5#KO7|CjP%cMv{sgYwyZyu7^fR_bD*5k?TZk|O78lRd
z4CcL+W}ljoXOeefrUNKTqnY8~s@&uL!2Em2runK#UsqjWaK;Gf@Pi9x$GDg~{JL!x
z!N%bT%Is){d>4BWugDO8KD2pr$d;)A2PRMS6s|WqDLu#UKKIO6E#ttmi%l^dXY%E3
zxTx@r*H)75b@$SG@-S6=oqIvs#GhfaPvPsU)~_t)VydWM&UzBY-tKkmg}R>B$>Iux
z3JF*k?8)$WwB?8)e~dQo7JaS$`pJzR!r_}f2<O$<3-GCT9;w*94^&v9d8w&FX|i6>
lBpxpdz3c-SlPeJh!^};05}3Oo`laeZhxG}GH_9DBDgY&b>`DLt

delta 129
zcmdmai1Gd|#tkMCjPob^O01ZyDk(8JR8nGctK^5xOQkk2PR^C_nEX`6W3sEP#O6|2
z1;)v1<vb?y$|p>2m6zDORsIL#<hzOnlU0=}Hg8o5V4N(ga&YoDmGa50s+E())WkQ(
msx>lB{-!RzSye-UadNC?6BFOhjfy|SHyS8#Zg%vL69oW(#xKDD

diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index f43397ebdd29301389a089397cd1646b4fe2561d..287af6e1ca757eb1c80330e74e2596b23a3cb115 100644
GIT binary patch
literal 17
VcmZSn@!s@&$JN{N3}C>N4**2X1-AeI

literal 17
VcmZSn@!s@&$JN{N3}C=`4**3v1|<Lh

diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class
index fca1aceeefd58a020e52c53c7a879dadb8f147ed..74b875251a0cde725bd7e353d53f8ef10d36b6c1 100644
GIT binary patch
delta 86
zcmbOvIazW8BP%1<W+v7ftemqMxENR%7#OT4Kjt!I65yIF%B`zw#bC@($-uy%1(9N?
mVyI?dVBladW@un&WME_vV9;i0VrXVyV$fg^-ki^^%m@IS?+wNP

delta 85
zcmbO%IZ1K@BP%1zW+v7ftemqLxENR%7#OT3Kjt!IWS=a?t*dLvV9Zd-z`&pdkzuG}
lsAgbb;9xLfXkch$U}O+r&|+v}Xl7ty&|nbST)?f&2mp_g4W|GA

diff --git a/build/classes/java/main/model/BoardFireFighterBehavior.class b/build/classes/java/main/model/BoardFireFighterBehavior.class
index 07204c3c3f123f9b13f3a54f72d36e3148c48a95..23937ecfb9fbe992d4ceb5471b0891d8bb9947ec 100644
GIT binary patch
literal 8828
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
XYepMJTSj|upOcZ%fzgT4g+USkN&k9&

literal 12545
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
W&S0Fyz`(%8z{oh8aW3P021x*T_o_kw

diff --git a/build/classes/java/main/model/FireFactory.class b/build/classes/java/main/model/FireFactory.class
index 63ec280e55d1c3b09f0328944b6695f7f41db67e..cd2de694304566ad83e53b02f3ca95060dfe94dc 100644
GIT binary patch
delta 689
zcmeC-na|60>ff$?3=9ko3^5zI+!z@-CkHZ$)aNATrRxV*7MG;vGBPmdmzFRxi27tD
zmL=+E=IaL(W#*LxmlUNY=2~+z$T4W~FlaOAFfy<dXI7;$GB9gsdU7%7G3c{181OI{
zG8i#32xHO8$iQ9zGAJjHk%2|SQ!|W<!Gyt-oxzNU!JLV~Vsb2_nu8T118-?bW{!S9
zesN|=W_}(QgC&Cv4+ATMEh7V~hNq`y7(0VKBZEk8eoAVNzH3fuZfahMTViraeo-Ym
zgX8AIj58P~Co)$u+c7vyzRN7h>cqgv;5_*^vqG>70|SE)0}BHK11|#$10Mq?13v>F
zg8+jo0|SEs12Y2y13!ZsgF6EV@H22T@Gvlf#rPQn7?>Cs89W#~8JHNH85kIDGO#eP
zGcYhXPR?U7mfFOith<vzlaXN?gRbrd1_lNe29Q;94D6HFvq;w4Gbn<suw!6jkYNyH
z@M7?0U}fND&|vUk5CA*J5pJy`gD-;s*jh&hKd`kN43-T33;_(x41o*`U?)LDf*6<?
zg25t8e;K&h8RQs$F{m?yFfcGMF@!QOGKevVgFMc_Fxi<^u-@2CYYPLr%r*vNGnU;9
zmXWfeEZZ5ZL2hLNyOj^@eO(4l20aF027R!5O&C}i7#QT>Zj*z%O%CcdP6kniFa`kz
zW(HvfZiaBMZx|UO7<3>uGw3rgg8jm3skMcHcMaHWppan$iyDJ%fdn!u)D|WNhz}we
IqQI)70mTev5C8xG

delta 542
zcmbQw+rz_k>ff$?3=9ko489w=+!z_TCI>Q#On%2G=b**Nz*}09nWG<&Uz}NznV-kS
zpvj=a!@$a*%gDg0;pwRv#?GM6$RLuNpOTuR@0ydEo0?bRmY7_UUsTD?V7S?bX$B(;
zvxcVU<VVca%z6w4lM`4ZS&bMN8H^{_u_!Q_OrFmoZf(lIz@Wgu%)r3F&tS%2&Hw`Z
z4BQMn42)ngeg**sCI&_Z3kFLDCI({$28NRiEDY=n3=F1|Ke8C}>26?PU|?Y|VPIg8
zVqlwW$0}J5GSZHLjX{P%kim+<nt_#pn?ZxYhCzUV1*8pbjVXgIg8<kXQwBS*H5?4O
z4E78T49pCU3=Ci=Kt!Avm>HbGB20f7xY-%x7=JOSGq^A?FfcK=GB7fTF^Ge_#lXN&
z!N5|_z{<eDAg8s3fn9nVgR&inA+wD^*^Fg3gJz_xD9d&RZIGjxz>ekv`(1~DlR=k3
zm_d&L<aiT^32=wX!5u0Gbtor;D1#e=00T3FFatM(JJ@TC3?2-g42%qJpg_`RU<CV&
kRci|a?;5Z}K|#a@7Bm9e0tsPOs4YxT?|3nIgH`(g09idkx&QzG

diff --git a/build/classes/java/main/model/FirefighterBoard.class b/build/classes/java/main/model/FirefighterBoard.class
index dfcfecbdaae1ba217fa185d9de40690d2b2a8d44..e5546abb657938877a328311e38a6f60e909c7e5 100644
GIT binary patch
delta 3466
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
PCS+vvX7pwBXOIK{L<g!m

delta 3281
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

diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index 33f51b6742b84ed99e02b091fc48257a19ed2a82..02f840310ffeae8d39057f746b3f0d133500205b 100644
GIT binary patch
delta 20545
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
XTzaoSj)8`REGSVk?qy^IopJ>L6>+X9

delta 20506
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
DXzRma

diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java
index 280ec62..47b7017 100644
--- a/src/main/java/app/SimulatorApplication.java
+++ b/src/main/java/app/SimulatorApplication.java
@@ -17,7 +17,7 @@ public class SimulatorApplication extends javafx.application.Application {
   private static final int COLUMN_COUNT = 20;
   private static final int BOX_WIDTH = 50;
   private static final int BOX_HEIGHT = 50;
-  public static final int INITIAL_FIRE_COUNT = 4;
+  public static final int INITIAL_FIRE_COUNT = 10;
   public static final int INITIAL_FIREFIGHTER_COUNT = 3;
   public static final int INITIAL_CLOUD_COUNT = 3;
   public static final int INITIAL_MOTORIZED_COUNT = 3;
diff --git a/src/main/java/model/BoardFireFighterBehavior.java b/src/main/java/model/BoardFireFighterBehavior.java
index ccd6b9a..53c01c6 100644
--- a/src/main/java/model/BoardFireFighterBehavior.java
+++ b/src/main/java/model/BoardFireFighterBehavior.java
@@ -6,60 +6,36 @@ import util.TargetStrategy;
 import java.util.*;
 
 public class BoardFireFighterBehavior implements BoardBehavior{
-    private final TargetStrategy targetStrategy = new TargetStrategy();
-    private final Map<Position, List<Position>> neighbors;
-    private List<Position> firefighterPositions;
-    private List<Position> motorizedFighters;
-    private List<Position> rocky;
-    private Set<Position> firePositions;
-    private final ElementFactory<FireFighter> firefighterFactory;
-    private final ElementFactory<Fire> fireFactory;
-    private final ElementFactory<Cloud> cloudFactory;
-    private final ElementFactory<MotorizedFireFighter> motorizedFactory;
+    private static TargetStrategy targetStrategy = new TargetStrategy();
+    private static Map<Position, List<Position>> neighbors;
+
+    private static List<Position> rocky;
+
     private ElementFactory<Rocky> rockyFactory;
-    private List<Position> cloudPositions;
-    private final Map<Position, Terrain> terrainMap = new HashMap<>();
-    private int step;
+    private static  Map<Position, Terrain> terrainMap = new HashMap<>();
+    private static int step;
+    static Movements fireMovements ;
+    static Movements fireFighterMovements;
+    static Movements cloudMovements;
+    static Movements motorizedMovements;
 
     public BoardFireFighterBehavior(Map<Position, List<Position>> neighbors, ElementFactory<Fire> fireFactory ,ElementFactory<FireFighter> firefighterFactory,
                                     ElementFactory<Cloud> cloudFactory,ElementFactory<MotorizedFireFighter> motorizedFactory,ElementFactory<Rocky> rockyFactory) {
         this.step=0;
         this.neighbors = neighbors;
-        this.firefighterFactory = firefighterFactory;
-        this.fireFactory = fireFactory;
-        this.cloudFactory=cloudFactory;
-        this.motorizedFactory=motorizedFactory;
         this.rockyFactory=rockyFactory;
+        fireMovements=new FireMovements(fireFactory);
+        fireFighterMovements=new FireFighterMovements(firefighterFactory);
+        cloudMovements=new CloudMovements(cloudFactory);
+        motorizedMovements=new MotorizedMovements(motorizedFactory);
     }
 
     public void initializeElements(int rowCount, int columnCount) {
-        // Feux
-        firePositions = new HashSet<>();
-        List<Fire> fires = fireFactory.createElements(rowCount, columnCount);
-        for (Fire fire : fires) {
-            firePositions.add(fire.getPosition());
-        }
-
-        // Pompiers
-        firefighterPositions = new ArrayList<>();
-        List<FireFighter> firefighters = firefighterFactory.createElements(rowCount, columnCount);
-        for (FireFighter firefighter : firefighters) {
-            firefighterPositions.add(firefighter.getPosition());
-        }
-
-
-        // Nuages
-        cloudPositions = new ArrayList<>();
-        List<Cloud> clouds = cloudFactory.createElements(rowCount, columnCount);
-        for (Cloud cloud : clouds) {
-            cloudPositions.add(cloud.getPosition());
-        }
+         fireMovements.initializeElement(rowCount,columnCount);
+         fireFighterMovements.initializeElement(rowCount,columnCount);
+         cloudMovements.initializeElement(rowCount,columnCount);
         // Pompiers motorisés
-        motorizedFighters = new ArrayList<>();
-        List<MotorizedFireFighter> motorizedFirefighters = motorizedFactory.createElements(rowCount, columnCount);
-        for (MotorizedFireFighter motorizedFirefighter : motorizedFirefighters) {
-            motorizedFighters.add(motorizedFirefighter.getPosition());
-        }
+        motorizedMovements.initializeElement(rowCount,columnCount);
         // Rocky
         rocky = new ArrayList<>();
         List<Rocky> rockies = rockyFactory.createElements(rowCount, columnCount);
@@ -73,146 +49,20 @@ public class BoardFireFighterBehavior implements BoardBehavior{
     }
 
 
-    public List<Position> updateFires() {
-        List<Position> modifiedPositions = new ArrayList<>();
-        if (step % 2 == 0) {
-            List<Position> newFirePositions = new ArrayList<>();
-
-            // Pour chaque feu existant, vérifier ses voisins
-            for (Position fire : firePositions) {
-                // Si la position voisine est libre (non occupée par un feu ou un pompier), le feu peut se propager
-                for (Position neighbor : neighbors.get(fire)) {
-                    // Vérifier si le feu peut se propager à cette position (pas de feu déjà là et pas un terrain bloqué)
-                    if (canMoveTo(neighbor, firePositions, firefighterPositions) && !firePositions.contains(neighbor)) {
-                        newFirePositions.add(neighbor);
-                    }
-                }
-            }
-
-            // Ajouter les nouvelles positions de feu à la liste des feux existants
-            firePositions.addAll(newFirePositions);
-            modifiedPositions.addAll(newFirePositions);
-        }
-        return modifiedPositions;
-    }
-
-
-    public List<Position> updateFirefighters() {
-        List<Position> modifiedPositions = new ArrayList<>();
-        List<Position> newFirefighterPositions = new ArrayList<>();
 
-        for (Position firefighterPosition : firefighterPositions) {
-            // Calcul de la position vers laquelle le pompier devrait se déplacer
-            Position newFirefighterPosition = targetStrategy.neighborClosestToTarget(firefighterPosition, firePositions, neighbors);
-
-            // Vérification si la position cible est valide pour le mouvement
-            if (canMoveTo(newFirefighterPosition, firePositions, firefighterPositions)) {
-                // Si le déplacement est valide, on met à jour la position du pompier
-                newFirefighterPositions.add(newFirefighterPosition);
-
-                // Éteindre le feu à la nouvelle position
-                extinguish(newFirefighterPosition);
-                modifiedPositions.add(firefighterPosition);
-                modifiedPositions.add(newFirefighterPosition);
-
-                // Vérification des voisins et extinction des feux voisins
-                List<Position> neighborFirePositions = neighbors.get(newFirefighterPosition).stream()
-                        .filter(firePositions::contains).toList();
-
-                // Log pour débogage
-                System.out.println("Pompiers se déplacent de " + firefighterPosition + " vers " + newFirefighterPosition);
-
-                // Éteindre les feux voisins
-                for (Position firePosition : neighborFirePositions) {
-                    extinguish(firePosition);
-                    modifiedPositions.add(firePosition);  // Ajout des feux éteints dans la liste des positions modifiées
-                }
-            } else {
-                // Si la position n'est pas valide, le pompier reste sur place
-                newFirefighterPositions.add(firefighterPosition);
-                System.out.println("Pompier ne peut pas se déplacer à " + newFirefighterPosition + ", il reste à " + firefighterPosition);
-            }
-        }
-
-        // Mettre à jour la liste des positions des pompiers
-        firefighterPositions = newFirefighterPositions;
-        return modifiedPositions;
-    }
-
-    public List<Position> updateMotorized() {
-        List<Position> modifiedPositions = new ArrayList<>();
-        List<Position> newPositions = new ArrayList<>();
-
-        for (Position currentPosition : motorizedFighters) {
-            // Vérification de validité de la position actuelle
-            if (!neighbors.containsKey(currentPosition)) {
-                System.err.println("Position actuelle invalide : " + currentPosition);
-                newPositions.add(currentPosition);
-                continue;
-            }
-
-            // Étape 1 : Calcul du premier déplacement
-            Position firstStep = targetStrategy.neighborClosestToTarget(currentPosition, firePositions, neighbors);
-            if (firstStep == null || !neighbors.containsKey(firstStep)) {
-                // Aucun déplacement possible, rester sur place
-                System.out.println("Pas de première étape possible pour : " + currentPosition);
-                newPositions.add(currentPosition);
-                continue;
-            }
-
-            // Étape 2 : Calcul du deuxième déplacement
-            Position secondStep = targetStrategy.neighborClosestToTarget(firstStep, firePositions, neighbors);
-            Position finalPosition = (secondStep != null && neighbors.containsKey(secondStep)) ? secondStep : firstStep;
-
-            // Ajout de la position finale aux nouvelles positions
-            newPositions.add(finalPosition);
-
-            // Mise à jour des positions modifiées
-            modifiedPositions.add(currentPosition);  // Ancienne position
-            modifiedPositions.add(finalPosition);    // Nouvelle position
-
-            // Étape 3 : Éteindre les feux à la position finale
-            extinguish(finalPosition);
-            extinguishNearbyFires(finalPosition, modifiedPositions);
-        }
-
-        // Mettre à jour les positions globales
-        motorizedFighters = newPositions;
-        return modifiedPositions;
-    }
-
-    /**
-     * Éteint les feux à proximité d'une position donnée.
-     *
-     * @param firefighterPosition La position actuelle du pompier.
-     * @param modifiedPositions   Les positions modifiées pendant ce tour.
-     */
-    private void extinguishNearbyFires(Position firefighterPosition, List<Position> modifiedPositions) {
-        List<Position> nearbyFires = neighbors.getOrDefault(firefighterPosition, Collections.emptyList())
-                .stream()
-                .filter(firePositions::contains)
-                .toList();
-        for (Position fire : nearbyFires) {
-            firePositions.remove(fire);
-            modifiedPositions.add(fire);
-            System.out.println("Feu éteint à : " + fire);
-        }
-    }
 
 
-    private void extinguish(Position position) {
-        firePositions.remove(position);
+    public static void extinguish(Position position) {
+        fireMovements.getPositions().remove(position);
     }
 
 
 
     public Set<Position> getFirePositions() {
-        return firePositions;
+        return (Set<Position>) fireMovements.getPositions();
     }
 
-    public List<Position> getFirefighterPositions() {
-        return firefighterPositions;
-    }
+
 
     public void incrementStep() {
         step++;
@@ -226,10 +76,10 @@ public class BoardFireFighterBehavior implements BoardBehavior{
 
     @Override
     public List<Position> updateToNextGeneration() {
-        List<Position> modifiedPositions = updateFirefighters();
-        modifiedPositions.addAll(updateFires());
-        modifiedPositions.addAll(updateClouds());
-        modifiedPositions.addAll(updateMotorized());
+        List<Position> modifiedPositions = fireFighterMovements.updateElements();
+        modifiedPositions.addAll(fireMovements.updateElements());
+        modifiedPositions.addAll(cloudMovements.updateElements());
+        modifiedPositions.addAll(motorizedMovements.updateElements());
         incrementStep();
         return modifiedPositions;
     }
@@ -237,45 +87,16 @@ public class BoardFireFighterBehavior implements BoardBehavior{
     @Override
     public void reset() {
         this.step=0;
-    }
-    public List<Position> updateClouds() {
-        List<Position> modifiedPositions = new ArrayList<>();
-        List<Position> newCloudPositions = new ArrayList<>();
-
-        for (Position cloudPosition : cloudPositions) {
-            // Déplacement aléatoire
-            List<Position> possibleMoves = neighbors.get(cloudPosition);
-            Position newCloudPosition = possibleMoves.get(new Random().nextInt(possibleMoves.size()));
-
-            // Vérification que le nuage ne se déplace pas vers une montagne
-            if (!canMoveTo(newCloudPosition, firePositions, firefighterPositions)) {
-                continue;  // Si la position est invalide ou une montagne, le nuage reste sur place
-            }
-
-            newCloudPositions.add(newCloudPosition);
-
-            // Éteindre le feu à la position du nuage (le nuage mange le feu)
-            if (firePositions.contains(newCloudPosition)) {
-                extinguish(newCloudPosition);  // Supprimer le feu
-                modifiedPositions.add(newCloudPosition);  // Ajouter la position du feu éteint aux positions modifiées
-                System.out.println("Feu éteint par nuage à : " + newCloudPosition);
-            }
-
-            modifiedPositions.add(cloudPosition);  // Ajouter l'ancienne position du nuage
-            modifiedPositions.add(newCloudPosition);  // Ajouter la nouvelle position du nuage
-        }
 
-        cloudPositions = newCloudPositions;
-        return modifiedPositions;
     }
 
 
-    public List<Position> getCloudPositions() {
-        return cloudPositions;
+    public Collection<Position> getCloudPositions() {
+        return cloudMovements.getPositions();
     }
 
     public List<Position> getMotorizedFighters() {
-        return motorizedFighters;
+        return (List<Position>) motorizedMovements.getPositions();
     }
     private void generateMountainBlocks(int rowCount, int columnCount) {
         Random random = new Random();
@@ -317,11 +138,28 @@ public class BoardFireFighterBehavior implements BoardBehavior{
             }
         }
     }
+    /**
+     * Éteint les feux à proximité d'une position donnée.
+     *
+     * @param firefighterPosition La position actuelle du pompier.
+     * @param modifiedPositions   Les positions modifiées pendant ce tour.
+     */
+    public static void extinguishNearbyFires(Position firefighterPosition, List<Position> modifiedPositions) {
+        List<Position> nearbyFires = getNeighbors().getOrDefault(firefighterPosition, Collections.emptyList())
+                .stream()
+                .filter(fireMovements.getPositions()::contains)
+                .toList();
+        for (Position fire : nearbyFires) {
+            fireMovements.getPositions().remove(fire);
+            modifiedPositions.add(fire);
+            System.out.println("Feu éteint à : " + fire);
+        }
+    }
 
     public Map<Position, Terrain> getTerrainMap() {
         return terrainMap;
     }
-    public boolean canMoveTo(Position position, Set<Position> firePositions, List<Position> firefighterPositions) {
+    public static boolean canMoveTo(Position position, Set<Position> firePositions, List<Position> firefighterPositions) {
         // Vérifie si la position est hors des limites (par exemple, en dehors de la grille ou inaccessible)
         if (!neighbors.containsKey(position)) {
             return false;
@@ -338,7 +176,7 @@ public class BoardFireFighterBehavior implements BoardBehavior{
         }
 
         // Si la position est une montagne, aucun élément ne peut la franchir sauf les nuages
-        if (terrainMap.get(position) != null && !cloudPositions.contains(position)) {
+        if (terrainMap.get(position) != null && !cloudMovements.getPositions().contains(position)) {
             return false;  // Impossible de franchir une montagne, sauf pour un nuage
         }
         if(rocky.contains(position))
@@ -389,7 +227,33 @@ public class BoardFireFighterBehavior implements BoardBehavior{
         }
     }
 
+
     public List<Position> getRocky() {
         return rocky;
     }
+
+    public static int getStep() {
+        return step;
+    }
+
+    public static Map<Position, List<Position>> getNeighbors() {
+        return neighbors;
+    }
+
+    public static Movements getFireMovements() {
+        return fireMovements;
+    }
+
+    public static TargetStrategy getTargetStrategy() {
+        return targetStrategy;
+    }
+
+    public static Movements getFireFighterMovements() {
+        return fireFighterMovements;
+    }
+
+
+    public Collection<Position> getFirefighterPositions() {
+        return fireFighterMovements.getPositions();
+    }
 }
diff --git a/src/main/java/model/CloudMovements.java b/src/main/java/model/CloudMovements.java
new file mode 100644
index 0000000..5e186aa
--- /dev/null
+++ b/src/main/java/model/CloudMovements.java
@@ -0,0 +1,67 @@
+package model;
+
+import util.Position;
+
+import java.util.*;
+
+import static model.BoardFireFighterBehavior.*;
+
+public class CloudMovements implements Movements{
+    private  List<Position> cloudPositions;
+    private final ElementFactory<Cloud> cloudFactory;
+     public CloudMovements(ElementFactory<Cloud> cloudFactory) {
+        this.cloudPositions = new ArrayList<>();
+        this.cloudFactory = cloudFactory;
+    }
+    @Override
+    public void initializeElement(int rowCount, int columnCount) {
+        // Nuages
+        cloudPositions = new ArrayList<>();
+        List<Cloud> clouds = cloudFactory.createElements(rowCount, columnCount);
+        for (Cloud cloud : clouds) {
+            cloudPositions.add(cloud.getPosition());
+        }
+    }
+
+
+    @Override
+    public List<Position> updateElements() {
+        List<Position> modifiedPositions = new ArrayList<>();
+        List<Position> newCloudPositions = new ArrayList<>();
+
+        for (Position cloudPosition : cloudPositions) {
+            // Déplacement aléatoire
+            List<Position> possibleMoves = getNeighbors().get(cloudPosition);
+            Position newCloudPosition = possibleMoves.get(new Random().nextInt(possibleMoves.size()));
+
+            // Vérification que le nuage ne se déplace pas vers une montagne
+            if (!canMoveTo(newCloudPosition, (Set<Position>) fireMovements.getPositions(), (List<Position>) fireFighterMovements.getPositions())) {
+                continue;  // Si la position est invalide ou une montagne, le nuage reste sur place
+            }
+
+            newCloudPositions.add(newCloudPosition);
+
+            // Éteindre le feu à la position du nuage (le nuage mange le feu)
+            if (fireMovements.getPositions().contains(newCloudPosition)) {
+                extinguish(newCloudPosition);  // Supprimer le feu
+                modifiedPositions.add(newCloudPosition);  // Ajouter la position du feu éteint aux positions modifiées
+                System.out.println("Feu éteint par nuage à : " + newCloudPosition);
+            }
+
+            modifiedPositions.add(cloudPosition);  // Ajouter l'ancienne position du nuage
+            modifiedPositions.add(newCloudPosition);  // Ajouter la nouvelle position du nuage
+        }
+
+        cloudPositions = newCloudPositions;
+        return modifiedPositions;
+    }
+
+
+
+
+
+    @Override
+    public Collection<Position> getPositions() {
+        return cloudPositions;
+    }
+}
diff --git a/src/main/java/model/ElementsUpdate.java b/src/main/java/model/ElementsUpdate.java
deleted file mode 100644
index d0e05e3..0000000
--- a/src/main/java/model/ElementsUpdate.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package model;
-
-import util.Position;
-
-import java.util.List;
-
-public interface ElementsUpdate {
-    public List<Position> updateElements();
-}
diff --git a/src/main/java/model/FireFactory.java b/src/main/java/model/FireFactory.java
index 5b066af..7bcd714 100644
--- a/src/main/java/model/FireFactory.java
+++ b/src/main/java/model/FireFactory.java
@@ -29,6 +29,7 @@ public class FireFactory implements ElementFactory<Fire>,PositionGenerator{
             Position randomPosition = generateRandomPosition(rowCount, columnCount);
             boolean add = fires.add(new Fire(randomPosition));
         }
+        System.out.println(fires.size());
         return fires;
     }
 
diff --git a/src/main/java/model/FireFighterMovements.java b/src/main/java/model/FireFighterMovements.java
new file mode 100644
index 0000000..6e1ded8
--- /dev/null
+++ b/src/main/java/model/FireFighterMovements.java
@@ -0,0 +1,79 @@
+package model;
+
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import static model.BoardFireFighterBehavior.*;
+
+public class FireFighterMovements implements Movements{
+    private final ElementFactory<FireFighter> firefighterFactory;
+    private  List<Position> firefighterPositions;
+    public FireFighterMovements(ElementFactory<FireFighter> firefighterFactory) {
+        this.firefighterFactory = firefighterFactory;
+        this.firefighterPositions = new ArrayList<>();
+    }
+
+
+
+    @Override
+    public List<Position> updateElements() {
+        List<Position> modifiedPositions = new ArrayList<>();
+        List<Position> newFirefighterPositions = new ArrayList<>();
+
+        for (Position firefighterPosition : firefighterPositions) {
+            // Calcul de la position vers laquelle le pompier devrait se déplacer
+            Position newFirefighterPosition =getTargetStrategy().neighborClosestToTarget(firefighterPosition, fireMovements.getPositions(), getNeighbors());
+
+            // Vérification si la position cible est valide pour le mouvement
+            if (canMoveTo(newFirefighterPosition, (Set<Position>) fireMovements.getPositions(), firefighterPositions)) {
+                // Si le déplacement est valide, on met à jour la position du pompier
+                newFirefighterPositions.add(newFirefighterPosition);
+
+                // Éteindre le feu à la nouvelle position
+                extinguish(newFirefighterPosition);
+                modifiedPositions.add(firefighterPosition);
+                modifiedPositions.add(newFirefighterPosition);
+
+                // Vérification des voisins et extinction des feux voisins
+                List<Position> neighborFirePositions = getNeighbors().get(newFirefighterPosition).stream()
+                        .filter(fireMovements.getPositions()::contains).toList();
+
+                // Log pour débogage
+                System.out.println("Pompiers se déplacent de " + firefighterPosition + " vers " + newFirefighterPosition);
+
+                // Éteindre les feux voisins
+                for (Position firePosition : neighborFirePositions) {
+                    extinguish(firePosition);
+                    modifiedPositions.add(firePosition);  // Ajout des feux éteints dans la liste des positions modifiées
+                }
+            } else {
+                // Si la position n'est pas valide, le pompier reste sur place
+                newFirefighterPositions.add(firefighterPosition);
+                System.out.println("Pompier ne peut pas se déplacer à " + newFirefighterPosition + ", il reste à " + firefighterPosition);
+            }
+        }
+
+        // Mettre à jour la liste des positions des pompiers
+        firefighterPositions = newFirefighterPositions;
+        return modifiedPositions;
+    }
+
+    @Override
+    public void initializeElement(int rowCount, int columnCount) {
+        // Pompiers
+        firefighterPositions = new ArrayList<>();
+        List<FireFighter> firefighters = firefighterFactory.createElements(rowCount, columnCount);
+        for (FireFighter firefighter : firefighters) {
+            firefighterPositions.add(firefighter.getPosition());
+        }
+    }
+
+    @Override
+    public Collection<Position> getPositions() {
+        return firefighterPositions;
+    }
+}
diff --git a/src/main/java/model/FireMovements.java b/src/main/java/model/FireMovements.java
new file mode 100644
index 0000000..da96795
--- /dev/null
+++ b/src/main/java/model/FireMovements.java
@@ -0,0 +1,64 @@
+package model;
+
+import util.Position;
+
+import java.util.*;
+
+import static model.BoardFireFighterBehavior.*;
+
+public class FireMovements implements Movements{
+    private final ElementFactory<Fire> fireFactory;
+    private Set<Position> firePositions;
+
+
+    public FireMovements(ElementFactory<Fire> fireFactory) {
+        this.fireFactory = fireFactory;
+        this.firePositions = new HashSet<>();
+    }
+
+
+
+    @Override
+    public void initializeElement(int rowCount, int columnCount) {
+        // Feux
+
+            List<Fire> fires = fireFactory.createElements(rowCount, columnCount);
+            for (Fire fire : fires) {
+               firePositions.add(fire.getPosition());
+            }
+
+
+
+    }
+
+    @Override
+    public Collection<Position> getPositions() {
+        return firePositions;
+    }
+
+    @Override
+    public List<Position> updateElements() {
+        List<Position> modifiedPositions = new ArrayList<>();
+        if (getStep() % 2 == 0) {
+            List<Position> newFirePositions = new ArrayList<>();
+
+            // Pour chaque feu existant, vérifier ses voisins
+            for (Position fire : firePositions) {
+                // Si la position voisine est libre (non occupée par un feu ou un pompier), le feu peut se propager
+                for (Position neighbor : getNeighbors().get(fire)) {
+                    // Vérifier si le feu peut se propager à cette position (pas de feu déjà là et pas un terrain bloqué)
+                    if (canMoveTo(neighbor, firePositions, (List<Position>) getFireFighterMovements().getPositions()) && !firePositions.contains(neighbor)) {
+                        newFirePositions.add(neighbor);
+                    }
+                }
+            }
+
+            // Ajouter les nouvelles positions de feu à la liste des feux existants
+            firePositions.addAll(newFirePositions);
+            modifiedPositions.addAll(newFirePositions);
+        }
+        return modifiedPositions;
+    }
+
+
+}
diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index cf8e4e0..88e8b7d 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -53,7 +53,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
             .forEach(pos -> result.add(new Fire(pos))); // Créer un objet Fire à partir de Position
 
     // Filtrage des éléments Firefighter (en transformant les positions en objets FireFighter)
-    behavior.getFirefighterPositions().stream()
+    behavior.getFireFighterMovements().getPositions().stream()
             .filter(pos -> pos.isAtPosition(position)) // Vérifier si la position correspond
             .forEach(pos -> result.add(new FireFighter(pos))); // Créer un objet Firefighter à partir de Position
     // Filtrage des éléments Cloud
diff --git a/src/main/java/model/InitializeElements.java b/src/main/java/model/InitializeElements.java
deleted file mode 100644
index 9da24f0..0000000
--- a/src/main/java/model/InitializeElements.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package model;
-
-public interface InitializeElements {
-    public void initializeElement(int rowCount, int columnCount);
-}
diff --git a/src/main/java/model/MotorizedMovements.java b/src/main/java/model/MotorizedMovements.java
new file mode 100644
index 0000000..a5be9de
--- /dev/null
+++ b/src/main/java/model/MotorizedMovements.java
@@ -0,0 +1,79 @@
+package model;
+
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+import static model.BoardFireFighterBehavior.*;
+
+public class MotorizedMovements implements Movements{
+    private final ElementFactory<MotorizedFireFighter> motorizedFactory;
+    private List<Position> motorizedFighters;
+
+    public MotorizedMovements(ElementFactory<MotorizedFireFighter> motorizedFactory) {
+        this.motorizedFactory = motorizedFactory;
+        this.motorizedFighters = new ArrayList<>();
+    }
+
+    @Override
+    public List<Position> updateElements() {
+        List<Position> modifiedPositions = new ArrayList<>();
+        List<Position> newPositions = new ArrayList<>();
+
+        for (Position currentPosition : motorizedFighters) {
+            // Vérification de validité de la position actuelle
+            if (!getNeighbors().containsKey(currentPosition)) {
+                System.err.println("Position actuelle invalide : " + currentPosition);
+                newPositions.add(currentPosition);
+                continue;
+            }
+
+            // Étape 1 : Calcul du premier déplacement
+            Position firstStep = getTargetStrategy().neighborClosestToTarget(currentPosition, fireMovements.getPositions(), getNeighbors());
+            if (firstStep == null || !getNeighbors().containsKey(firstStep)) {
+                // Aucun déplacement possible, rester sur place
+                System.out.println("Pas de première étape possible pour : " + currentPosition);
+                newPositions.add(currentPosition);
+                continue;
+            }
+
+            // Étape 2 : Calcul du deuxième déplacement
+            Position secondStep = getTargetStrategy().neighborClosestToTarget(firstStep, fireMovements.getPositions(), getNeighbors());
+            Position finalPosition = (secondStep != null && getNeighbors().containsKey(secondStep)) ? secondStep : firstStep;
+
+            // Ajout de la position finale aux nouvelles positions
+            newPositions.add(finalPosition);
+
+            // Mise à jour des positions modifiées
+            modifiedPositions.add(currentPosition);  // Ancienne position
+            modifiedPositions.add(finalPosition);    // Nouvelle position
+
+            // Étape 3 : Éteindre les feux à la position finale
+            extinguish(finalPosition);
+            extinguishNearbyFires(finalPosition, modifiedPositions);
+        }
+
+        // Mettre à jour les positions globales
+        motorizedFighters = newPositions;
+        return modifiedPositions;
+    }
+
+    @Override
+    public void initializeElement(int rowCount, int columnCount) {
+        motorizedFighters = new ArrayList<>();
+        List<MotorizedFireFighter> motorizedFirefighters = motorizedFactory.createElements(rowCount, columnCount);
+        for (MotorizedFireFighter motorizedFirefighter : motorizedFirefighters) {
+            motorizedFighters.add(motorizedFirefighter.getPosition());
+        }
+
+    }
+
+    @Override
+    public Collection<Position> getPositions() {
+       return this.motorizedFighters;
+    }
+
+}
diff --git a/src/main/java/model/Movements.java b/src/main/java/model/Movements.java
new file mode 100644
index 0000000..0f1638a
--- /dev/null
+++ b/src/main/java/model/Movements.java
@@ -0,0 +1,13 @@
+package model;
+
+import util.Position;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface Movements {
+    public List<Position> updateElements();
+    public void initializeElement(int rowCount, int columnCount);
+
+    Collection<Position> getPositions();
+}
-- 
GitLab