From 554e6a803c77e60a28970d24ce44f73048044a20 Mon Sep 17 00:00:00 2001
From: LATIOUI <alatioui24@gmail.com>
Date: Thu, 23 Nov 2023 23:52:03 +0100
Subject: [PATCH] Implementation of Road.class and refactoring
 MotorizedFireFighter.class

---
 .../8.4/executionHistory/executionHistory.bin | Bin 66789 -> 66977 bytes
 .../executionHistory/executionHistory.lock    | Bin 17 -> 17 bytes
 .gradle/8.4/fileHashes/fileHashes.bin         | Bin 28397 -> 25347 bytes
 .gradle/8.4/fileHashes/fileHashes.lock        | Bin 17 -> 17 bytes
 .../8.4/fileHashes/resourceHashesCache.bin    | Bin 25841 -> 24991 bytes
 .../buildOutputCleanup.lock                   | Bin 17 -> 17 bytes
 .gradle/file-system.probe                     | Bin 8 -> 8 bytes
 .../java/main/app/SimulatorApplication.class  | Bin 3250 -> 3296 bytes
 .../java/main/controller/Controller.class     | Bin 5786 -> 5819 bytes
 .../java/main/model/Builder/GameManage.class  | Bin 1380 -> 1487 bytes
 .../main/model/ExtinguishFire/Cloud.class     | Bin 3584 -> 3584 bytes
 .../model/ExtinguishFire/FireFighter.class    | Bin 5899 -> 3979 bytes
 .../ExtinguishFire/MotorizedFireFighter.class | Bin 5156 -> 4550 bytes
 build/classes/java/main/model/GameBoard.class | Bin 6191 -> 6254 bytes
 .../java/main/model/Obstacle/Mountain.class   | Bin 2281 -> 1621 bytes
 .../compileJava/previous-compilation-data.bin | Bin 22218 -> 22290 bytes
 src/main/java/app/SimulatorApplication.java   |   5 +-
 src/main/java/controller/Controller.java      |   9 +-
 .../model/Builder/ConcreteGameBuilder.java    |   6 +-
 .../Builder/FireFirefightersBuilder.java      |   3 +-
 src/main/java/model/Builder/GameBuilder.java  |   1 +
 src/main/java/model/Builder/GameManage.java   |   6 +-
 .../model/ExtinguishFire/FireFighter.java     |  74 +++-----------
 .../model/ExtinguishFire/FireFighters.java    |  80 +++++++++++++++
 .../ExtinguishFire/MotorizedFireFighter.java  |  93 ++++++------------
 src/main/java/model/GameBoard.java            |   8 +-
 src/main/java/model/Obstacle/Mountain.java    |  21 +---
 src/main/java/model/Obstacle/Obstacles.java   |  29 +++++-
 src/main/java/model/Obstacle/Road.java        |  36 ++++++-
 29 files changed, 214 insertions(+), 157 deletions(-)
 create mode 100644 src/main/java/model/ExtinguishFire/FireFighters.java

diff --git a/.gradle/8.4/executionHistory/executionHistory.bin b/.gradle/8.4/executionHistory/executionHistory.bin
index ef3814db707d3311a601ee242faa1484aadf300d..8f1b2dd7e12c428126c841e15e393e8aa0750036 100644
GIT binary patch
delta 2222
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
V%#}9}C%T*fS!FnB9i(V|0|1}CD*pfg

delta 2106
zcmZ43&GNL9WrL@Oh8F_^i`VR|vQ)DQ)54-E)5P+e^s2(764R8jywa4?N(Knf-CXFg
zkdg7!WW@*rCL`m?=6UjrH(;FhJRim@Fb+$;E8|fZr_0-o@i>h0G2ce({iJ!@_Z$9@
zVC*W(OfA<-tH{k^5U}i0zB27wkhX)T-rryK<#k^`iY90H=rM+GepqsyeRFY$cA8RF
zL1B`4vQa@{Qd)jlUQu#Vm6>r$a#m7iDa47aVw)e{7vh<`WnrQ~O7YX@r~gMKZ}@P)
zeo40QlgS#j@{?T_-4ozvR@v{Yru49G2eVaew@LNp!nb^kn;n+8F-|`EK39OP`{K82
zN{3tIycYMbV*2-Ov*Kx4#?5leMHmIdnhvO}%j4Z6yj$do-jDk;CQpn|oV?^y_U3ad
zeliK%-skM7x|`9ZwdVMlt|-A7lNDmbCZGQnKiRfjZ*t7{gw40sh_VV)9gUnk`+0G}
z0oSL;1G;X>PJZ}js`$HCJ-JyyPOlFoneoNGZnb=S^YPq$hNmV^=+%&Z4`y#;W@Zqm
zxX;L;rQ@v9X8e3VpHOqs<O_clq(oMkxMh7&T6v#)o|{UAu}{<Sjq~;yZq;I(Gx_5Q
zvB?Vm#HFvE`Z#-^;TsWV27x!pVN8Y(Iyw*Dc=SfKN{MrF!R8Rw4v?0~>-sFY?r%Ol
zcb{P+7vsFihNmSIlXDV_ix~uN{rh_N*-<OMf|&hbV$$4ldvAf9w~CE%(&U5xgeTkd
z3rtSmq9eWe1jy#U9Lx*?CqCU?{32|_laJA?pZ=YVo;Z2pf3e9c`vq9Hfz(Xi*RLee
zP`mSix7Hb+MQc2+U8)w$TnCadJfb`~H$`Hyzytx7xhFQxn{2;TlVdhmX1eO+iMQk?
z_idFHh;4j%mGi~V=D$<^XczPZwojfnK~h3SvGv@9xGOuYZ*YdQ=2w+|0C~!=Lw54{
z3Cb*=k8hkeS#X<{#PLw!qNi1c@4USar0@JX`NMgzs#b%^Yg2V5*KgBi-2t*}@`c-q
zlP_%ZX59<sIo=VQY_?s1^$?hsb4Q)^IG8o#jta{qkjeA6O9^=FH2CBD`|D!nX&H{f
z(=V4yUN=dV^$A#=Z@TtmxgB0CcR@bN*`cJ@2DY^U6sH@Xs8w6fHj9Y+;h``;a?VX=
z1_90)Hy$OsoXpeKmM_{`&9rXv!pWMO+3xi)`iq4(m}{O~_C$A@1JhLdiTyKAf<pZ8
zT1FN|1_o7GV+ICQZ3YHaWe}d7o0wf-l9yYMmzGpql$KRtlw@9%m0o3*2F=hccAFpG
zZ)DqSUf#qySs}s@l&4?S=uI|0uFrTKmSJDj$V}dF+<0<E99X`gPHJ+%TfxZ=Cv+H}
z!PGR=<uYD`aST6-O@1H7J-Pm!(&TRmU`-&QRZD~>|9+=Ac@xAQ!;i9)O_l~RzD8)1
zoqTmE|73^Lyp#D)+fBX_3)QMPxnY^zWZh-lleHt%Ku$FLs5jZ}j6TfpzzDI)eN94>
zUwqVLd;l{oFv37!!@>;3z(}ovK&FO{!sjC8pv=nn5}`t6@`h&7$^4(K5FQDPP?<dc
zv(V%T=gb-3BdfgsMS8Nuc?ZT@FhRl93X|uxa!sE0RU7Wq3-ObgLcy*Mj1Zj^BQW{-
z1+~eSTfriX-*qSFT-1XFb7QRB<Tc*~CjYvqKe-8_r!h8|@gdCk!u7I~_y2I49P^!f
z^1W8Dw?RVjodT0ne!@)w3H@K^Fxe~yY)9exa6~lR`Q<!0xeY8H_}d-f@W4MJlkfd@
zoV>XUBKOCE@c_tHMI+;w;-ci3+{Dbhn5@LIM1gyEergpSekbw7P(kK(`5(o}5C3Q&
z3V*v^>&aWL3vk>yI_t@P!%dQtC-$nd{Mgd)c=Gq_?p(9q9eumsaF#Bj3}TtGyW#QV
z${V&U&)*$=JGthc7RN@gqAr%n8~e<-=6wL^fE7HGU2clAZ2WNa?d15InyiaKa+3r5
z#V0ShDZsKCB)sFMEyo^^u;B-;$p`!8MgB@oo~-@ED?Y2;rYvVe&V+04kG`F3a7%|}
zH;9pNOOs_Qh|zn?Nc!J<kX1`Gm>C3g-=&|-ciHZ+XT9JyNu{f@pn^msbc2_huXKV~
zmCl~UM|Vtn(G1eaep{WT55zFKZN>5s<b{IU1{~dBC%hD#{4iCSWdg`y=Wi>q+}PFd
zc=FfV?ktBuA`W-dS<ZkM*>^NpE`u1;@2IkT02y)Mj+8)Ove(Vnm<^SE!U|0*4d#3W
z7aJ`fkG|bM**9IA_0#r-$NMMOrkhT#yeq)+3#7gGu9DsgaM*ogVrCHdX!$EEL^xz_
zM*;67@0Y*dGBXI=x)!f#+rjIyDpT(3#rZECK?Mlo3s5wJGEhNACgU9hM{@GIDRziF
j@F3evKD29!Xh-mBXPya9+WKE89()FJj^Qb2F=GG#Hs7(l

diff --git a/.gradle/8.4/executionHistory/executionHistory.lock b/.gradle/8.4/executionHistory/executionHistory.lock
index 90be8bbe46872fb2c2dfaa16c2b1debc3585b0e8..2f5ab811be3d96d24e78d9dc4139628ed8bc8a71 100644
GIT binary patch
literal 17
UcmZP$`TwJ1B6D^Y0|dMW064J)F8}}l

literal 17
VcmZP$`TwJ1B6D^Y0~jzi0{}Qj1jGOU

diff --git a/.gradle/8.4/fileHashes/fileHashes.bin b/.gradle/8.4/fileHashes/fileHashes.bin
index 3777e2fb75188a80f5ef02b487efb22b1d596b5c..f961414987ea05a2ba4cff7e6f0e15177557d141 100644
GIT binary patch
delta 1828
zcmaERm$CU6;|3E6!Oq6D-E15;1P?KQLDI#^u@aV(*GcT3+$w1>`K+Ym<bRUxlVhb0
zPBxP^m|Q2VKl!V)#AH<&kI83c5+=vWN>1*R6`y=n)?>1%oX6y;at4#{${9>nm6w<t
zD(^A*to($@r3w<0mnuk3zNSz<IaSeP@=?W!lk=3sC(l(fm@KMnI5|$aeDYgmgUO~U
zo|C7k7)<`AB0gDF)nM~nRRzY$Z`CR$*Qy&%KBnG3xm81A@>2~-e*04H>=@%qVD~a4
z&7b^LLt(P3=E})zTH=#^wVIfCUT#$UA->VTfP1r}$1Yxlb^IO4kMqAYopGPO^)QFm
zdj<x^?tji31R(}+T$!Bjp*GnuOip3Tv^OV0Rc{3LCpqkWRCh%Qs!#%=kpKB)!(_F|
zOT*+QmnMs_{N4A9ZE|n29)z(!SxR9^oneRN3=ZeWj|!E4OK+=#wcE{k0nyGfX>xan
z+T`4Dxu6}pIM09Dd%RV}C0>Q2H2y3^;anDoLMAo_1_nK21_lOA1_lO25EgJhTe;@p
zG5uXfgbo;(bX|B1*5Q`01EPcV!Q}oFHM_t2esMqqm^v_xShTB5vG!1>t7z(GmiIo#
zEkH*6-S>+VqJ!ht<j*N;Air=<mQ9rklD)$EOYTg{!YQ0HI0I!W)j+EM@xSPUsOFr8
zY5vc+e@UTs3ELw#wnZp0|6dH&A@E)YqJ#U(<jz!e=6%1oCvQ&G<N3Sq7Y{^&aq8ra
zVZ!x)opMgEEIP~Y5_>+;JMsWnv)!EE5H(WoFs++Xl&i9<wBx!$$5e%oo%f5OI=(@4
zFh9c7@$c4^NfJLCmFF&arF8J=$>UHRA3-|I7#LV>F}1{WmCbHDy{Bo<9OXCHR5Pui
zTK<EyFfcGLo4hp*<R`w#_tW&5_x<9VESRo0xi@Od<j?8g1j0X=I|H0R1SZ>NNGYi5
zN=2Gk==2<&F{i_F0*?#WIOk2l5aW0rOn&aG#`4d3Q`lrdKPiPCo1F9Ed${H_MGB}U
z#@<~CRlOFXT5R`ZZ$CAbzX#;vC$nbifwcXZY@VrS_s@CLCWsOyE=(WIKKWfk|L^U`
zdzd~M<cCeX1UA$yNgtwvHDdC|7?+?Kh5d7xuG&@Y`SWGbR<8*kpo$D3iWq${jeT_c
z)sv#w*Qs+3?wsJd<*PANhdD$C>-ou+S!!ngoHs+$4{HIY5kZ%{X1z@{oGX=ck6*0R
zOBif~^JbsPQ?vBy|2c2=gP6rI2UBbM%iQR#UjMd>i1j=TJb&FBs?{2zgTEV7hkE0@
zHlZ#F({0^nmAp28=Z5OYh3F7GhNfe(Q?@wEKj+PYlVh_%LA_aca(}i|{fRJxeaUMU
z-?`7B-0(Me!%T=Nn|?t|k;p?cg+Wo^pY)?ASt4?0=F6XDn{|`@8AQkCGKdbgP)r?+
ztAZpg<M;G_Ph@{{ZU_4<sE!H-1_o9J1_pME$%)az@{0^yV*0BkOU;hQ_s)~af-0(k
z8tXbaJ_nSrHcy(|nFDtJ^vSy+j5(9vf*G6sPnOTsWBKQnWIH)9SC8fI0ogs14+cq1
zo|`KI^7-1yTS3y!n>I|A&y`X*Tl1K|!F0zj=Z(yjHxDO5QnFi;2gJf~p~(}2)h16(
z+)|(MiMKED=Y-R~^TO6jy>-3=cA4Frw-AL)prnsh)XDA<xcY5PnAESTifd(Z2iAgh
zxFuOZbTETTQ#2jj*OT2|+Sn(b*KoXXOYPHgunztglNlHoKuLfLR7#?0IrDk5+Lzph
Z>Wve6I^_;MX8~(*-fR!Cgx3cY4*+FqN1Ffu

delta 4026
zcmZoZ#`yLw;|3E6&0`I9>lV%28nl1`43bU%LqQ{(f0*9Pl#O6vhFtB*t`e5~R`<_e
zzVdq~L@epz<Wh+f0uzM_54oI`kAw)O?w@QbX(2G}tNEgxer~HFf;m$sr%EdFPr4hf
zpdon^B9{Aka;;>5z^vaZWg{mA+CT)8PftE7d6NIyA2FZOy4?`5tjm*Ir7ZdNZB}ma
zSnUB3%Q2k1Rm#F))vL1s@>6sTAcE<QP^bT2-Cb@z%lhP9h<K(mOnj~Ah1{=-hnGOa
zvur0nl~NE`SNd8>)m4HQBAB*w@?WWdh)qYn#fYd%E`kVV<-<(a?zJ$iI79I~L_Fsw
zOngV{qZHok>suk>dEs#J%Xds)*xD&U#B+{Mc9qW1*k!^Qva^2b9f)9tI85>GghIJK
zhnQs$@$AgWOQjY0H~;E<cK&P!L@fF5<h{}g8VBQ5PCBxPSU?0*^kD`Z-e`Q3GwnYc
zRQ&totI`1i$6B{Pl07-=EJQHFbF!>VfWWEcHfCvaKW9P&Q#B{2%2)`T-F;<)|9-b?
zP{HWQQ)MjpFU%}k=v^A{0wS0)`G}07z@;>WOS)N}P+z5Qo_tp(K;uS*m2I-iYdMI*
z%u<-6Zgg4j6g#FmLc~))PF9tjA#mTdt>n~C`8J4P?!n1hWfcS--#;>8U3LsKdh%2!
zpOsbQXNy_oE+_@_fBNL7vJC<sDr@()H)PI-=uSC0IaV$};Ah(DRF80x4-moJ{>e+_
zX7W$D(7RG^8Z@M{XHPbjR}f%j*|~Pxk(fq^!nF3uzVa3hoRT}f<Y`;vLj;rN!(7ib
z?Q?u-dk{2rCo{vu`JPOER~5G8Aw+$;|KwVEOa9C5n|Lpl_d&$6%_pywZxE1<%u;{j
zFwYJu_<yphf`x!qI2TXbx-?gaV5Z>YP=!GLMkCA0Tk=;RV!5%C=PFpLm)_@#nl;4@
zB9<--v)ypR_UX?B4^%_MvldQ1tDqoY6yG1fp5>(m5zJgZ`Kf}1gL$`)dRbA(Z-`*V
zeV7Rr72h1%>b|aridVzM7tYSIxYq(rEorYeiz;d`YWN;;`Rw-l?;42e<e4zl0c~C{
z%dG{^LBuoGPBv9)5D2aJtX(o88d^%E_D)`_WXYfIo3rC}u{lIx-tNhFm1bzf9^ZdU
zk^dhDL@-SmW@?;;_Jt`0yZIsF*=Hx`Dl0f7lo(FrVLiqJ5ljn(DNcC9{?+}cjW9$!
zB@rf`c&b%x(<=jLV#;Qn+^VcNd7rYlM%qVCy_Ys0S|A$oI$;{pJA_N@N_Q$l#M7Tn
zKC8TuU+m30cc*s&5V0)o$)zd^8f6nyKFj9Mz7G-1ya_X);@0I^0vRsW5b>Pk$-OFF
zOhOAcD*h1PXi&kr+0kPcufmH^m05gzpLeO|r3M)n2*olmFm^xQ@md<9iT(QId=ItB
zj$v{N($?=MI`lQ><onF%OyD*C4^^lLQOLJ&a($S~WN}XsmYXkb$xYVx)ML4MKiPV6
zqNmj4><|%_n-8TmCO3!ZP0kIMn|wY*#O~&^v^@~LjAs}a81#%87#K7e7#KhXDhj-B
zjcQu)O1(1h>@Q9`jfiltZJVxdg6Lq`I{9Oa@Z=g#VV;}!lkFjbj7KL=3>KD;y}aH2
z&z8cjwtf$eS^6emjb~haA!@kPC!h6HvwK|m8Ct+Ic468bF>_^6a4QeTgjffq8TMy|
z!A5Mlz7k>t@9xQlUTQ4o7hMvX9PK5gz{8L;>tVh^eTLt+c+OOHH?ZnXe;J5sfzy+Z
zd#SNJ-gJHX<d0rb3R|4j^}=U-k8wEb{=UiU=RL6M?Ys*iswLGX7X}DVF7OtHnBVTL
z2Vv}lF<yI1Nrbq*xjTWYZ%yw9Ck^of{7hgoHeH`RSvN{b;@l;!N>#pDp9^O_X3}`%
z?F*HhIC)}})a1&j6O)sDMOYqJes-8#?W@Of<@l$0lh^u6DZG2tlbaRf^!iYe8DH${
zR!gw99dF)3+{NQH`MIwe%i|qy-cJ_vlTr{_W#X3gMQP=I?s;x16~;bb)n}5MAgV=8
zCwu#;@jR|c4TT7B<$$AWf}b$U<C>IXlb8GH@jO103@t+${!CU31qIQ~`;)yx^(KqQ
z%1xdgD#G%3)6EBy*M~|e{MB5+;rYwwfeZh{$bgS01R%DhfD#M?0|QI#<cEH0ERWBm
zm`&#Pmr`h`-TA;<>kQALH6GV4RSRZ9RqH{VB6wu7V}$VJ2!COa4%x~1{(2yW^yG#9
zdUlU%Qnet;7~L_Gg^XhBxe0Msc3R)y3}?-+Duo!F3@zXJIwltefSi&1dGhQ4DTU*q
z!bMN34BvTsA4uQ%b@B(OYG_3*!8(~eP>tnrO{(r>!$7bTEG8!h>eWB4N!5osfg95a
z`%n9-)%ym8=&um{p!xHYF~ramTZj&p?U*|J`)2I>eN!T9<4xuHy18MGp*ozPIza6q
z<eWEIAwe7z9`2K^6F{y?zBD-(%t%R@+#jR|ioUCp4+cq1<_#7Bsf(Sg8mwpc_)Idi
z;$&>Vbb?rTgSqC(WlwacIWSGNpV$v|!c2%0!VXWK7_2sVYT_0NuSaXzEW<6c7P5E#
zTbg(+39N8C?_5yE3A**~>)mHZt^5jN_J@f{bIXAxcf5sqof#Bw$R1%(6zJ_e`uBvZ
zV1NN1d-wC(+<hP&f8vX)Aog<ff=V{KZ%=1~!T==Jj_Gud4ZnBgh;BP<b8O41nBI(q
zU?bWl$AgqJFz_##Tpy;!^6lyDwUhsPNKHN*Cc^S3KKth6+hKYvf8t&1Ci8}a3qO!8
z8z6dEbTMst-uUaHGQVboX#s=(7C&=vZu%4NS`X2|q%nDKh#JU<%@6@>#bv2aH}ibw
zlTrryQfEIc2s;RJ=--WnB@i8~xs&gPtJ(dDcWs6UFoCijT5v776Z5xPJwJl+Z^)`c
z4<(C1M*N8{FoWpelAi1sp$76*>*VYRsUVHNGVh;N%&spM%3W{uwo3-2`tQcV8i;B^
zP_2k&{^3o#V;$X}&Q?<XQ*o}2%@(BNPrNJ0B@7G<0xpxUN2oLR=T4f;7^zqPC*BoQ
zFf%YPFiyn`uyvP<cP%UZ&K0@;ww|Q;=X!`y+0epD$^}zLcr;ghPSa=cpt*s^9QTW>
zf^__~{|T)G*u2nmC^IMuC<Fy%$S6Iin0+$EzpLed7f8#Wc-LNt4;g1nKIjdO`+bvN
zdrM6gjS^*6WH*|u8>P=|zg=f?e3Tw2VH}t|F-ni;+tb+xA=;RDChztEYdbXgsSjAm
z;mPXJ;N;RjITFH{Fu6NgN`d=g&WFQGW+Wccz2;UJB5(+7f7>Ex(~)NrxJ3SwAXNb_
zkqf@;bbgSm_vqQ_0~cbOuTBT4{=2apT8)d%0+q-te-dP;Ob(9GWBI$WJbiL&j2_S5
zjpc?=mvMnh;lCRz<R*KEN-1nwn0g?4W$moYRVx>j{@M<17yR8=0aeYsZE|a<8q42}
z70Tcu`bx{16<=$@l@e^OY^&ibR)JVwp$##cHDz*pELgS8<c+aX3V$UhPu70o6`$2^
zQ<k$KX97fZIkcV6$1r(gnDFF(vBLF#H<m*?T?}*3qKH9JAV}ld*#~CKA{+LsI=Jr^
z!xgA8&_0himhy9NO5d8;3p-f-WQ`@KsR~9wb^L=kQ$z*Lj>!|^#6e-zJb85-IMDhg
z-;I+Bl4|{<r%@iUB`4SMg41>7Xs9WP5K|;T<u_W|KlocMvt;w+zXC5}R)$185P|5Z
z0J)HXfq~=YWXnKs@CbnF0G>YyvJnuo7`Z2}jR(s(O}-uvazcgAWX=RIBN$vn|J_(#
z04}2cZmehl7twzbq(4o*2vJitnK==pxLjj$Zi19TXx9|cj^NeKJQJR@^}kSrmJ$`u
wAeM!l0+qy|RC|1~d<Zygo|qgMA~l&kM1<wr^Ui#bsKB@9ozPN+V>u|e0Igeat^fc4

diff --git a/.gradle/8.4/fileHashes/fileHashes.lock b/.gradle/8.4/fileHashes/fileHashes.lock
index 7b333d1b1b3ec72096d6acd1269ec9a0c55f1011..753dbf9dbddde9e52f56efab94835c5ce535b059 100644
GIT binary patch
literal 17
VcmZSXX1VC#`|)8R0~m1F001)N1b6@d

literal 17
VcmZSXX1VC#`|)8R0~qk~001(+1Wf<{

diff --git a/.gradle/8.4/fileHashes/resourceHashesCache.bin b/.gradle/8.4/fileHashes/resourceHashesCache.bin
index aa0feb0429a70db3fd0c1501c8b605824d233c01..838b0069cd156cd1359aad27da737a8fd0628a0a 100644
GIT binary patch
delta 2369
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
C0Wqim

delta 3663
zcmbP#nDOID#tkMCjyIb4H?*D=)z4x81Fxn3p`ckivvm)9<_oYeLxLt$_<wW%zP;wb
zn!*tAWb?_T5&;^m&vW?#G!5FJg8N~L+kB;${@T2;03x2?J$bK$!sM?KlKd$S+w4yL
z@q~y++fQbdv~ZXpZ!YfeBl9~%FgX%t$V8E2>#G=&Dj?#qM`7ZV-mu+k`RKC(BAz&Z
za;oGqsW@$z^lbkFI^|bSi$SF0>nHO{#WBVCPR^CmXIwmau2d$!GBa1L-}YM&1&NO*
z|CI`eSUq*BWn%q{Z4kkDNtkJCjBK^$NuBxx5l@VUix+;Yektn`3=xl&hKaA$+vqU=
zi?TjMJRx^-taRh#Z_@pfx61G{Zk>EoMnU7y1)uws>l@f0N>Wr|T939FFBg!OxepOf
z=%1`AYoT#U*zAXg1%C-dFy0!b_{_ZbiDl8H*%0xV!pU=GGx@idbRK+i_clZ<Hh!|M
zoQ1=s531L@wKE+df>FO=23%E-PF0&{Zv+(&go|r*Zke0(pBE~wKRH%TLE~Cf=Y36i
z*I5w3_*j_Y>zl8>(B8Qlnuwy8PA-+xV@f$cd8wSj<hyd}jQNvU<rOE}$xHChe_ZZ6
zYnB<rfTYipedQH2?#mXgJRA0FDMT>Q5@zcCwk1W0t_zGI;&GglkIDxKJUO^C(Y~DL
zHAFDFc`~np#pGB84~KW+CJ%$IO*sRRh`S0i<z4(NeUB%sub|@J;o`;7juYlwV~2<*
zU7WmC!IGcZp!kv2K{u!v>*S{jC+ffLz5mVSN)|Le;t#_N_<mc<IQZ--KZxQOf0+2s
z<w@J*<vXDXFKInY{LiO-LVFT3r$g2Mgo*#tHrVG_(8vN2PZouXKR)nqIWy<vKZ*^K
z6JdfZOO|f$<(GT_Rs3*rt&+mztxA&W_3Tfy8}_P0#G_?l>Un}h;^yWRHbKOrwom@5
z6vq^uI5|`~Lqp_G-&;R(IUk5zj4n)%sJG}m$;wt}#z^X&d{$Y(LE_@ZZzYBfwh+Y$
z>@dX=e?4W~bNl~7#G{H~;*x!bdpch%xCRkV$(;OGIgsDi+*(#+dlW=0xq7mziaz7>
z$-OEHlaHzx2&jK_(U0Hf1r6vF=E-kWW@wl!ayM2K+}#P$6a5lqzG+_x19NGg1VlWg
zdvdL+LWJcB;d_pzMWPVFgv&6+*6NxUm}dJ!3$28WaPc{}E9+Ktc|g?1T!)F<c8ciE
zpPRoLA|7>f@>*3z{$(PEeKL4{K*SOcPX4N@$geqTj--+^KSV4kdor(@rFx2bnrUL}
z2Z&hwQ<$0VEiVhz^hGX1#TQPtRdX{+Sqqc)(y4Qoka2^Ra*c5DpBI-+pQ<<kqAlU;
z<W@C3qZD_Tv`<Z=(ds*%&_Xc!I9&W)*QBkRBxXXiC5lhps;0=#U0J3uIrI%gENbfH
zvuX;HS=CoeKB{iWKO?4W!J3ct5V^R`lUX$^9O8<arH-^-lY|H+*1`;rKk9Ig;nwCw
z5b+ppn0V%*AH5rRM4%;jtnFl94F!kXiW9LORhH0_D@h%uI4@a<^9r}%S%@J?o-px(
zVolSqRjII4IeBue#tDHc&3@JRYqj1G#mRFg+iEIKF4L@-%%-KtBoeq$@rU?EgA>e~
z9X<XC)}Oe~?!sYx^h?<<**nqqbV0Er2P#BB{t#qfU=S3LD$?WXvr5qXF0U%+7a<(U
zz`%f};{EgQ5Ap*1b@xww(A=`&+a*jDTt6;u^m{&CU+hHCmpN=xCc;%%gRB5yfxqtW
zF8|#2Y>!D|w*}*>$-QtTAXyL=NcCO1BjnDefBL*fPj*giSU6cRSeU=izvf}3@mtlp
z`@MGWGyNxPN0|sHy^N@4FPrds^~bZb@-7wzPiBuXG3xt%%bS09^|7C`=C8Od`OOB?
ze7@rMQ~!w^&*%IW`}NC|Z3UAJLxk&ZA5l8V*R|za`agl%;FX}N3(fP6hYCFe=Y6|Z
zy<mz|gWG3NHI1f1nLBk&mAAf3lR%s7`iV+9m^ROF<B;5A|G`t*IfZ@3o7S5M6_Zy-
zbMoIPJ9~=9tvRnr<bK{yv+a`)M~6+ej&Tuq@3-`~@^qD+?8VZvZ+x+OF}Xj+L}0_h
z48_1mt%5+NhK|DLBIT1W$CwDXJKVL|!M}P_Lah_~@pC~rlf`3A1WrFri>PmXo|yRk
zp3>GOyT4D4j-55xGR~#G<JXL!wLN=EYQ3IRe7klMR7;?FNsi;w#9xcUqy>0ST|Coa
zg~dxb`uVzAQmKpnKRtQaB5}c8gqIi?An9slOeK@qL6h=p{=ZgDh&%{N!w_3Q`3j=s
z_YAe{uTyTMZoU_#|Ke7&ET$omW}ClM*EjL~iC<EG(~hMdQ^o0rS6KEt*FE*njmX|>
zr4MRBK&%0!DG(M=;Pu~TS$k_MZ`bt;=M8NHK=z|4nRsnoFq@dZ`+eu<-Lq1iVll0;
zZtuGPG0jkEy63`>OV?sDF;%2IHK@=tIZ^wXy-MKi>rH`}DlAH;x6fDa(Dt{fDOO$=
zBJvSaiT<^Wo262QXBj^3-Q-|7k!7-Ds4)MT*xR1}6RaCe4~VCSAJm)tIM$?o%5-1L
z>kHcA!mdae-nw~k2BuLg0gvky405k<_L-`?{W_O`sY0+t^6VewOy!*O@Ag#Gy#iHF
zXyH<Pv2#bHHDj^sPR(7`Ejv@-W`M#F5{EPYmF^Ch6n0JK#-6BoeNT1aN<d)`!U7zY
z`c5W)&hWf{z2D4V`tg5E74dUy_$wlMq>BF>zQ?gT9ZNc3uzfds@_}R%twgz{k)D&d
zCbPzw)Sv&l`fQ1J!ab3<?=MQfldi-xSo3j^nT3i=Rfks6LbWD`otP>nC(YldusP-9
zitv)|oP*n$FjdrjTQ_OKob;CU!G{*xrdE{0RUpD3nrHihOA%>LTs}WpqpI%!YT}~>
zWaz7w#3R!asvM5w_PsiKu?=nrD1<;*z+lVjRdba^{<kek{cnHEU?HXo33i^>THmib
zZMEKb^6~ZVdm#JKthtr{cEQ8G2UB-GSZ`V2`T^9qKvVJOs8%JncR;vV<r2;Khb1pD
zt=VDqwr6L^(`UyyV+DQx6vSYv(3?MXvUJFc`imFMK8Q_gUxg(`r5vW*JXSO1U;BEs
zYYZIs8!!!-b;Mw^*vkIEB{Pq_G}wP+C8i1u3+)4~uhcF+(R;XGVCuCi=qkbl1-AHn
zyE*ZH)%%N;*Ct%r6toImiJ*YZ`t5dnZF8AIa_5_IOXy+AasiP+j-2zvKB-D3Jd#j+
zGi9=6tcg)K^YQPT^&h1D!+ZFCH%DN}?r--+u6inW%&UrRPXFA$Oiw1~#+XcIj}-v`
D1mPP~

diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index c77e84520038f8c47d14db5cb911ea630ec7b10d..0bfc94ece4020f6aa0d98d4a9986882cfc8fda8b 100644
GIT binary patch
literal 17
VcmZR!o;x%Ck-On^1~6da2LLZg1J(cl

literal 17
VcmZR!o;x%Ck-On^1~6c@1pqI31O)&9

diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
index 349a7660edc0174109e0bb6d9f10eadb1c99c724..26a07b303a3272556a607b454cab45b805954402 100644
GIT binary patch
literal 8
PcmZQzVC?><u+b0z2(SW;

literal 8
PcmZQzVC?=oM`#-W31<TC

diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class
index 1003f5961c795950b88df71148fdc944e51f63e9..7e6f31bb2e3cb5962c4cc1ee6bc336501ac01730 100644
GIT binary patch
delta 790
zcmdla`9PBE)W2Q(7#J8F7*=lN%4cTg)$rV0&D_Jt$T69NwNXOI)6X-+)6pkB$luW=
z-q}CYFNB$afq`psJ8LFm^X8ANX^ec+xfo_J%w%Vn#ltY0Vb11Mb{0m)d6Tm^WR(|i
zF>o*}<YDM%m>|F~fsuj7GcPZ-$T=smxHz?#ona{>gX&}f4q3ip6`%b4?9u{uhUJV5
zav-6}pE!gW`6jb*Zp@HmsAR}uU}Q*VU|?WksA6DZ;AY?fvt1e77#JAX85kK@8Q2&Y
z8LAl=81xw!85kKD7+AHoGcaxhE308(082A4@G{ggFfi~y6fo2=)Pv>K7}P<UC-ZYz
zyMok8F|aW(Fvu~mGRQOVF(@!dF(@)9F(@%;GAM)fi!m@UFfeFA^@CU-2Z5|@U{GgZ
zVyK?n&m|uWGD(Pmg@J)Voq?4>gMpJllYy5(3&{jNxCwk<FEKJSGB7Z(FfcMSF)%S`
zF|dKmVqjpH&%g~f$9^&+w_&{i2b%yts{p?M*ER+pga_pq*cliYbQw4p^cVyf^ch4M
z3>Xv`3>h>Sj2P?~Ou*J^L5zV~%fVpI(8AElzz9~~#?a2d#Gt_-&d|Zo$-s=_6kTxe
zfkHQiVe&d|je3ON%o%tXEEq%>EE%L3tiYCtfkQ_IY6%a607Dl;Hv=OBCqoZIJSdzQ
z7#NJ<k+g#$2H^)TuvS|J76v=8QLu>WW$0sI5a0qOBd`In3=Db<4B%K~*};&2FaVSY
z7#I|gG_x>FWSGRjz`)Ef864MB7^Xr~z%&MChPe#$85S`t1|?_)MusH}%NSNLNCE(D
C(`ruu

delta 733
zcmaDLxk-}i)W2Q(7#J8F7?yA3%4cTc(b!zW+{4JoI+>HTaq<$@bjHTbJZx!<d{em?
zrZG%sXPCjmFq2`{<_2~aM#njf4B{F-S&3zdX%+gZWvO{3`mP|-S~HBFjbR=a0|&!=
z9)@0qJ^_Y4Mg|_wyu8#R=bXgi;?!bxhQ*8ws*^vmi%&k!&d0{iu#}NO4$5Vp%*QFj
z$U9k)bK~SkoKkj`3=9nV42%qn3=9mcTH6^IH!?6VFfmjyFfg!z1$h~&85kINz-(5A
z8irc1yc&Z#10zG_WGgOfSCCpM1~vu;23ZDH1~~>k26+Z41_cHs21N!<1|_h5F$N|E
z1_mvteh`ZrY$hW^9fLXp6GP?XU0m|PAd`d`SQr=>)EHP9)EPJ#G#GdpG?7f;gPXv|
z05PGSfq{XAfsvtsfr&wjfemC90|Ubx1}?BUHj{O@4eL4B1o&A6__s0mAbcmsz|O$H
zpu@nypvxe@pvNG}pwFPdV8EckV8~$2U<|fX3t|S;P7VeWh9-t)21W(}1|5bLhE@h9
z1`P%ghBk(F24)6icj$t{4ivO849pBnlkan@+9LdB#=yg1&LF~I!640G3AP6kIx<ju
zco+m2Iv6?`7#TPjx)|cY;q1sGRu3|P3mlF%3@i+`V4bjd>1OC*U=ZK}r3a9D1_lN_
z1_p4PvFu<-K=>LGr}9X8Ss3~mCNMBCFf&X9$Lu7A$<X+o!obWhn_(`)0)~YQ3=CXc
P42%qm7?v<BV~_*@o&jk9

diff --git a/build/classes/java/main/controller/Controller.class b/build/classes/java/main/controller/Controller.class
index 23933b95f3862a8016fa14fae947490553944e61..a8d8a50db6b3654e296244fac71b6fb8b811475b 100644
GIT binary patch
delta 434
zcmbQGyIYs*)W2Q(7#J8F7&$j`>98^t9oTHas>H<1t>L*jhTV~oiBV_sd=7nPW?l`?
z$rren@(5(+WtL<n<^<&@rcBP`+0FNzi{S^uPj-f1JPf}X{%khqWnpCeH`#_yMum}q
zi-CiYk%!?u!v_I|4~z^vo_TqxMb0^i#l@+`?2N38462hE`NSvh<71!P%gfHj&dAQl
zAO{lKypNBajq?%%Hv=~V1B1!rb0P{%qFj^Ti73{WGVn2!F=#N9Gw3r^Fc>pbGMr*y
zU?_knWH`-mh5-aj7@jihV_*bnW_ZT1kAVryvS!%Fzzk;DGwfqv0kfVn>|<aBvtBUl
zV_*ZbUNY=sU<b2aG3;aD0JB~*>|@|$VBldeVR*x^kAaJUk>Ty+38Gq@H4H2awG12#
zb(0T^I;%G_a5FT4og@afln3r49)@=yCkZft!eg?on2q5_hEEKP49pCl85kIt7``xk
hWdNDa$ncGUnc*+Pe?}%okYl+R7#Ud@*%&z(Bmqk!UYq~`

delta 420
zcmdn3J4=`A)W2Q(7#J8F7&$g_>98_+GHkYBRbpb|(%2l!?#Rf*V6=GwhdwhCkH+Ln
z+)F2S@oeGy#>McR;RidzPacL}48J$~@Uk#6{+%4iC!@&lpNoNmk%5Qd9m9J8hWCsN
zJf3-ZsYT8?iN(dK#q5kMll%CzSlAdD<R(w#lUsa?k4^I!0~Z4q0|SGR))s~oSy2{g
znVk#^SQ)f-GZ;mRvdD_Ein58ai*kr^PG%KVtS@2UV<=@%V<=<LWhiGbWT;>`#lXOj
z1~Gx*G{YGN5HMnR%CL`t5o9XEGlqQ(OkkEZ!#)OPFw34{9|H@R^_*cJ11p&If?*#6
z8<_QyVIKoKnDvTb9|H%N^_pQH11AF`6T_Ry8%4D^s~K1rY8W^eY9~Jtbyja+;AUt9
zJ46g@6%X7YJPdC^4iR7i1;}JSF&o1V3?CU78JHP9F)%PNF??qD!oa}5!@$V!m4TVz
X55qr3Mn;fhxfmE3nHgCb*%>4O!#!CV

diff --git a/build/classes/java/main/model/Builder/GameManage.class b/build/classes/java/main/model/Builder/GameManage.class
index fd32c7f35a06865312c88379a1bd57794de41293..a0261b9904b2581661e7948aadf106998b3671b1 100644
GIT binary patch
delta 398
zcmaFDb)K8+)W2Q(7#J8F7=ku(t!CupaB&Rsc8+xPo4kv0k1jidGb4j=ZhlH?j=q0V
zaY<rwPO5%TeqstIgA#))4}%+n8Y2UXdyr!!7lYH}5~eGx9t?~Oo|Ao<t*yNn7#P$T
zI2jliL>X8Z#27dk#2NS)Bp8GlBpD<bq!{EGq#0BhWEeCVWEs2}7#KVl*cliYv>1FC
zd?z1fcIWkEU|?)!U}j)qU|?80S)8T4p4moPYYT(eA_kG&3{H`o7+kh9xQDkeGA{rB
zY9j*!12Y52N<Ri+1_lNN1}+9g22lnD25AOm22}<X1_K6V1~UdV1_uUp25$y6hCl{Q
zhG+&YhBO9Eh8zYRhB5|ShDHV*hIR&hhKURY409Ot85S`Z!JWp$;3vu8$H2qD$RNuA
zV_Cpi!Eja{oYe_uF)%C!`HO*p!JmPFL5G3o4+GO=M^?$nKCFW50SpWbObmel76w0J

delta 295
zcmX@l{e+9_)W2Q(7#J8F7<@Kzt!89paSw8goV<^5&*YU%msp(`7#W-=H!xdUyD%^?
zs4;LdFffQPurP=+a59K7@G*!p2s219NHRz=$TLVWs4_@1Xfnt!xH2#>crdUtFfeE_
zxG}g-{>JRi>&(Ew=*_^)z{J47&@tJIrM-S50|Nsy1ISz_1_1^J26+Z91_cID26+Z)
z1|<en24w~V1|<eF22}<J1~mq6233YY1`UR222F-E1`UQB25p8i1|5b*25p9R20gHy
zb_{F`Obn6?9t=DTj101HmIa&@3}@v@!I=yU9Ux~iFfe#BFfgbxa7~`gs?5c}$l%4m
Jz`(@d4FK90CH?>a

diff --git a/build/classes/java/main/model/ExtinguishFire/Cloud.class b/build/classes/java/main/model/ExtinguishFire/Cloud.class
index 61044ec9271ec1cec418aa6f50ce31b14ed7bf66..9a2ca81b62515b6aaff3d2f4ad91acf8b4fd3921 100644
GIT binary patch
delta 14
VcmZpWX^`1)iigo<^JyMaMgS(^1jGOU

delta 14
VcmZpWX^`1)iigp2^JyMaMgS)N1jzsZ

diff --git a/build/classes/java/main/model/ExtinguishFire/FireFighter.class b/build/classes/java/main/model/ExtinguishFire/FireFighter.class
index c0e51cda8547a4be38648418a2a9a1e46ff831f1..cec32da5f69030726d4773a781d4f3ce3c5d5131 100644
GIT binary patch
delta 1672
zcmeCy>z0=~^>5cc1_lNPhDBTqObpEI3@khhtPE_742lyy6&Q;*YKbxOGBNORF>o-*
z@i53UC`^9K=n<#Hpv=yo!o#4-pvK4`oRwIXs9#!=nWOJmRFqihlUZEC$iSSKlETO!
zs^J5c%}LBl*Y{7#N=+`Y){Np}&|uJHXVBtd&}PtKWZ=)uPf5+ucTdbsb;?gHN|{{C
zY9yn_pwG@=z{6n3V8qD42Q~z31<3Ttk6AUXI2cTL7)%+=7#VoeGK*3J@{2P|GV}9_
z85x8$G$FRaHCS^oSTI<!Gg$F3STop67H3nP+{L8HCB(qMV8_E?&)_iGjm?JJiNTqj
z!G(vxmBDRtFI%Ft6N3j2gD1!awvv31y<7}R4Bk8pJ`BE-IoZ`YG#LDO7y=jqC$C_!
z*AM1l2w@0iWMEHD%=67JO9eT@2kZct%fKGzU<l`7h+v4E%*a~A#m%6{5Y597!w@^!
zj9HC4o*{vqA(4k6i6MD%I<q=QJVPoELmET+<Y~+bf|-mAyeP&^zQ?|7@^5Cd$xR$;
ztU`II<*t+WGpbDf%OyQ|Gl!72P-;a<W?p(}W^o400gMcyNZ|sHE9=P<xJ)PUNKF3A
zA<5`JS&GMhvK6;BqvGUwJc>Mw44lE4>3NAIrA4We#d!8jR_BV)&r8ir&q&HIEkc;g
zQIKB@4u3`l-r$nN<ZR!>f{?_doK!}J8IujUj3?{x*iF99tvR`t*Mx5Z7sEt`N$d=h
zc^IZJOx?VnmxWPZjh~ZY1}H#g@-WN-B`c2P{JfIH%)DX&P_XiN=H;apIp-u67pE4p
zGt8UJ%df?<fRRCNvH-u_<Vb#jdIknY1|bG+1|9|m1~vvp23CeF21bT#1_lN{1||k3
z1_lN`t?dkqTH0F~*tNDX@NQ&aU|?d%VPIeoVqjrlU=U$oVGw2DWDsNEWe{h`Wnf?s
zgXm(&W5{O!0Y0$lj0}tn1q_8yv-KH3d<F*A$*=gi)Ip|!>}Ft)0-M0Yz{tSBzzQ{i
zk)ep87^H8qw17-KLajVlEyOl%s9FXFZiW(uQn2a#VE=%8VhrXpFtBQEXOKa70F-qZ
z7?c@U7*xPUp<5fl5Xry<4vNPN%na-d3=Ec9_1Zey7-V&IwlOG%OS0;0V^H78pv%ah
zwT;0zatDKX_$~%p28Nvsj!X<Y8Qd8etk`rV*|srwg@bHm1_zrI0~-SagBk-HgE|8b
zg9d{HgC>I^gBF7YgErU|9uS-09<pR8V<-m)h$TY>LwzMUbS)XG7^)eVK~7>YWvBti
zge5~QLmdMvgCPS4Lp?(c0~<pF0|SE=RIZGn5o$;kLlazQGXo1$eKP|aLkl==TNxM`
z+8Ej)US~{TU}NB7U|`4rdC`g$?0-KiHc1w65NLsX7c`SWNK03eO_D{DReKvl*m4FZ
zP$;Qeu}iY=WQby9u;P&9*vSyb$S{*Z1H?*UWH`W(Va2H>$+?XoXeNVzmaZfxO!vm+
z|F3{Tiv=87M&N|0&%nlDz`)C3$WSlBV8kHHV9cPyV9H?3V8#%{V9pTDV8M{iV9Aid
zV9k)tU<VGy7zR#;AO<mp4u(nwP6lIe@YaBXHU}QGIp7cjrL`P}P6kNG=75766tX$s
zFlJ$3V@LysF)ITvLwr3$1w$oL&_WDuh8heCWSG__2AI}n23CeH1_lNR2A01JI_wO3
z><k%y8Ti4Bc<rAIOwfSuW?*LM0Y^bELmvYJ11LTAGcYquW0=k`n_&(E0|OTWCnLjL
KhWQK&86*LP!ZE7=

literal 5899
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
BFe3l}

diff --git a/build/classes/java/main/model/ExtinguishFire/MotorizedFireFighter.class b/build/classes/java/main/model/ExtinguishFire/MotorizedFireFighter.class
index 2584644314d21ef8df7dc763702d6084d8844c81..73dcd4f4c73d5965ca13a94c1c33641c645b64c9 100644
GIT binary patch
delta 2253
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
JW?0K02>^?b&z%4O

literal 5156
zcmX^0Z`VEs1_lR)8(a)b49x5dEIbUX3~Y=H0$GV=iTXK-dFlH8Nm;4MC5#MgHko;u
zC3cJq%o>_uoD3Wcoa_u-JPh0nJd6yQx%nxnIr^>@C7F5YrJ2PUZka`?`o8%k`9+yk
zsVN|yTV{GjNoo-z18Z`APJR(1gOm@*j<gE>;^fr4RQ-a)%)AnPXONsV7Xt?a9}fdR
z$R%7LTQd`LGOJR#83Y-G*cpU*7(^IE85u+&mWE{(XO`p_=|gEo2G%l=2qS}@h7Uvq
z5zeyKjN)PtXOLiLkmO;IVvuHJ5Cpjn5&};7`8lbHd5jF~Wr;bZss3q<3}PBlnqc>%
zsIX>dkY!|$hS&;qkG^wJesQsHeraAwVrCu}gA4;R7lQ(WB0GZ;4}&s;3L^tQM7?`r
zZmLs$Vo?es17A^MUP^v$Kz?y%NoIZ?BZHuZrcY@}W{y5g$eNQufkBOjL7hQ^k%2!o
zCp9-UuLLH^$RG@H8(51+VsVCVVu3XmgBF7}JA)1ngD!&}%zwx#7#X;e^TDnx_D-#2
zWDwPWn1YlFz`>-&V8Fv*$Y8|Cz?`01!pNY8O&z9Ib_Nqh24Qfhf^BsyDoU*M$t*76
zVlZYf<6$souwZ21$Sg@MN-P1T4>1jB2!mC7LdC7Q8LSwr*%@qj7;G8r7#V~R2Evpu
zGO%YP7W<`Elz`J}6i9~y4}&9v6C(pl9#~ieW;U|l*cn_H8H6B_0geb)NU(A<I5W8M
zFt{^#Ffy<uCMTyBlrS>rz!DcMnxV8c)X`vrp$W$tl(f8f7`#Ca=1GF2rZ7-a0(sq+
zhrtgNA<T&>DIh*GD53&+7=jpr85x)hN=q0SEU<(yW&k7G49T?MI1lAv2xACmWZ+26
zD=DfB2E`aCIU&L=IJLx@n<0|HjGZBhk%1RQf}J4-CDMEo3shV|=5RAaGsN*Q#DfBr
zBR#bQ>>YN7L`DV)NC-m1Lm!g&^HNfaxEK-`m_hndco<Sa`q<J_OT1Gn*%{Iq8F<05
z3`@b>44DkR><n3q415UZK+=i=Lk<r^E<+w8gJ@oAW_m_aevxxdesOAXNk~4(E=C3g
z4Ya(1o_9d`uYiZ4kfDf?ffHs(F(ZQ_rbblTtwHW8;bACcC}U(`D=sNYP0VFvkcK5D
zuoobr`oUmHYc7TghDvsZDjtSvP=<jNDqwYx7%B#3_SC}C%%W7k{5-$XoE#wr28LQ5
zhB}6NMh2FW)Z!9G1_NmHgY|(z0hY+X0%@gr$)Hj~KcFZzB{Mm(B-NUmp^>49ouQeB
zp@pH9kwF~c3l!HeGO(p(=70-jOJpmsm<UZ<U<*;q0Nd5h!_dLd$;iM~k`HnoBZCl1
zkbuO%LD$X0(8JIR%0($DjyXAu43fy!I_Kx)q=LO-tr-OhX)|_)35*QNko1IBh@)~D
z8Dt?QVXaOy!x$M@obyvs85#I}GV@aXN^_G^i$W5Ua#9%?gnaUo6LZ26i!wocs31#8
zMrJW1gEk2j2qOb18-VLCMg|$E|FJp;RF8maC{Q6M4z&T6TcETxBLh3MP-kQifvQ0+
zldKsTc#}Yt1+<JRW@HeBlnCG`f|sozb;*f&o_U!ipgOcTm63rFl*yBkD<wt-S*R6I
z>rv}0Yeoi+0(e!#kCwR@8N^USu(BW(8j9N3Tx0{a3dJ{eAa@3rBqnG3CKf<-vy~R4
zB$lKyGI+y^T6hg<jpha<dtkL4k`N*=KnZ~rTnwTH7ra!nW@O;bOD%^LLyQbOX_-Z-
z2rg$jqLLPbdIaGrMh2n0)N*KyAT$Z3!ka}1L0)8oiy0XNkQ@xoFN_Qdd8y^tnoux9
ziU}(*B&@^;sUQWFpGc+$BDo13L^im?9v;v*;usXm{zzs*<BCEP)sRd?asfCWz&v9O
zvRV;IAt;E^?FFgf49-l?ODriZN@Zl2K}NbmHxtQ9B)36IG_)LGXN_Gkx<^2Xm@7EH
zv?w{%EfZ9NNn%SRdZ03&kwL&IKfk27q$sh#H?<@qKc$$Tjo}a%!(oOa><mYF7>+R<
zXJk+UDTTCSGxN&wvs3kb5_6MM5`9xk64MfsOY(~<85y{9k$Gnzr7emkhy@;rc_}%m
z#VS7e`ProfP%nWSL%}6QnR)5RB2e2P8bc}zQpuBqSczXRwEhA+1Zu5wVopwQW=X2G
z0D~SsC&MXFjdPlZ;S8uP#sO;x3ox7m)n;gEUNef3fyXm1FSW=yC$YFVwV0jZB1+52
zH?e?`ffd|PVrRI*$e@Z5#1KzIoDK^uc7|(=408CDGBU71f|fy%frEjGfsvt~fssK7
z)D2@`U|?lnWME~O$iT=jiGhK^kAaDSiGhKEPis2^qn7qo26nA&47?i|7#NrsCNnTF
z2r;lQFffQQurP=-a56|R@G?j;OaY64bumn3n8pACd|=ZV85kL+Gt7XRt<M1BGcd4f
zZDC;F05_72fsuiMK?ZCL517pgHHHz?fQD+ehdPW~TWcqS029Lw1~GIa6v0M_f!)sy
zHG+YGn_(uyEU?Y|3?Qo}F)%P*U|?ooV_;y|vztLCayx^Z&khE8zfBCPy4x5uXEOA$
z*h1L)2N;aEF_>DhNV4o?uw-PI$)E~i*)uX6U~sl#m1Nc4$>7Swu#LfUCIbhv?Q#aT
z<^QkC%w%9&&LDzh;;jE0moqR!jMSXTAPQlD4A<Jm;1j-_L3THTapZOee~?9BA&?45
zmTe3H;kac$al!(QlPCr;1_lN-1`Y-d1|9}Y1~CS01_=fo23rPQ25$yE244n!h5!ab
zhF}IGhHwUBhA0M8hByW@hHM54hEfJghIR&Ph6xNd4AU8G85S})GOS{7V%W&w%&?om
z1stLt4D1ZH48jbv8RjssGE86)WSGk^kAa0jf}xXPKEncVc<+IRHwVKOhJ_4^7#JCN
z7&b60W>~_&%&>|<2&!W#G^IeySjNBtl>@PsGcYh%FmU{15MyVMVPI!S`_CZ2z{<|R
z!OkGV$j*?)&S1sBpz(`=iA_NIKZ7I#3q%T}l7WGNkzobHN(LrS8fJE7U}4~4U|?*6
z1s>}r2Gwm0Av+l&7#XbCB-x;mnE+yeBQx5HU6Oq#Lo6s_!7<Ju$pKYl0b+p_Ia_f`
za_(kGh}_PQgot-hNmh{7WRTXhoeUXF4B^ZFA6fo?4$N{kZJlil*;ee5Y?ADt=+*{N
z*;X8qY?2%xzAlK;oXH>pW+0^s8JG#2lAPdFp)1KD$q7mnl5C(<$tlSRb)yuB1$JYa
z6_+H7Bp1ls<^LZc83495e<wpRBZDMs<PL`N@Ldcw3=BIN8kiV%GPE%=>}2R-VhESy
z)CM_+7==3-`WP9kxFosYj^NtK0CfbnB#R_B)DehuTE`&Iz`)?iz{%jnpu^zJ5Xj)e
zkjmi8P|o1bP{k0yP|Fa=(8dtN(900aFqI*MVJ<@`!%~KDhII@P4Eq_P8BQ?7Fq~(I
zWw^l*&+wHYf#ENx>&TGA$jOk*D9Mn*sKb!VXvC1p=){o57|M{!7|oE*SjCXR*u;>@
z*vgOvPRlbG_!$Bj)WB((lR<~Uk6{(VY6f<O6AS|2G|I{Fm4Sm{4Z{)!F2*Vb4u-W1
zOBlF8X$hLX85r9b)-kLH6;q6D;PlM|mfgUh!N3e=Z3O2HPR3e>O$?hESV3XSu!UhB
z0~<px!%v2-3`-c;8Rjy)WZ1^Agn@&RlcAPjJHuuMP6klk0Od4@n|8q6w2XlhZ0-hz
zop2j=F|aT|Y}gIAVHX1%)U@3UoD87cWXr()7nGYa*%_?<GN`aKM6)wkS^s2U`o+NX
zkHL|h!5Eya(j@*cu(2~({bEq~%aF{@08;*oL4jcp1E|p7%fQS48t-Fb*w1i)fq?;3
lLLX#cW;nrclHn}Fd2p4$#1PGJf#DJxC&Oiis|?o}BmsL<i8KHJ

diff --git a/build/classes/java/main/model/GameBoard.class b/build/classes/java/main/model/GameBoard.class
index 6c8872b744c5e2a38f940a8d23806e30f1ac6e64..162baba038c7ed764297e1e083126849fc0c94a4 100644
GIT binary patch
delta 3625
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
UelRdFa4|44L^Awj_|3)%0EkEgk^lez

delta 3533
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
Z&)~xA3&U3i1_mw$MusqkZwx=!I021$;eG%B

diff --git a/build/classes/java/main/model/Obstacle/Mountain.class b/build/classes/java/main/model/Obstacle/Mountain.class
index 187c3cf23bc43eab3f4542f932b95e1291f70154..9d89533a3b088c27c70ebae6f63f2c2116accfe5 100644
GIT binary patch
delta 553
zcmaDUc$G)|)W2Q(7#J8F7;Ly0m>8JZ8CZB2SQ*$R&tsC^sKdm_%f!G3l91zJkY`Ys
z9M2Ltc{kJd$vapSCf{O~WfjUxEq9$<$EYI8$RLzjQIeULUYc2)5s+V;S(2HbH~9dw
zl(?8resW??SYlCTVp2|ONM%842#B$X)s0b{fq{`hh=H4dhk=2Cm4T6gl|hk#kwIy4
zJez#IG6MsH5CaR86lUOL5MkhD5M@wdU|<kqU}9ik;A2o_P-6fAKCl^#42%rw3>qL4
z7#JAz89;mn23D;t4D1^i7#NrsKt{4LFfuSONPvyu0kc`5#xOEyGH5|H+cQl5%O(zX
z14M%?SOdgfZm0$Z25tsz1|6_H{0ty<N(>AP#$Z0k-t7!B8{zhXLXm+%iGhVd8Eh1~
z-SP|y3``6l18Nvp8CV$@7`U|RwRLnQS++CCf{bAXJ0D_<Is+$z2G|%Ah*G$VxEOR9
z^uXTYV$f$W0EZJ7gCT<v12f1-24e;j1{MZWco>4@%;0k73@i*5U?*ELFfv%Nftl6-
DQ~W!r

delta 1184
zcmcc0^HNaj)W2Q(7#J8F7-G2?m>8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS?)l
zu`mY6GRUzr$n!8LFeoxI@aN{Iq~_?mC+4O)<tG-UFf#BJCFZ5%=LX~#XO?8<=P@z}
zYH0eDmSpDW!-T9k8Dtrhc^Fg}R2dogQzu_#QmN-+P-oC!XVBzf&|=VLWDo?~4A$k5
zSe)UTSis1@ot&Rnl9-uS?44T4$RMiW16G6NI%~}+kTJSE40;Uuj10`_sU?gIYS`3a
zXsx$qXE0=B5C$6ww$`zzD6!Hfv$%wd!GOV-hrtBoEat?N6cC>oWRE!yg9U>nBLj0m
zX$d2P1r~cStg+U_6k=zvW@MNsDLr`(<99yZBv2r_=A`DP=9Lsr=3|zcyqQT>O3Wue
zIWZ?Ju_!Y!DJM0gvLH1C#9(C5o-D{LGFgE|T$z!9H@GA*Iomg}04&GO5WvX53-$^u
z+$TFTMoym0q%ipclc=yzYDGzAUV3R}aRy9&vpusLqa-7P6$2xK5Cb;@4+8@OD+40~
zD}xOKBZKYaIV|$^b_@&*LJTYn3=AR+EDWLyoD5<NybR(D_6!URVhl_S3=Dh>4h)VA
zAixJUgOP!e!HK~cWC8;NgFXX@&%nT{wS|Fw0|NsC69dRdHU>rp1_mjxF+5;4E7TZ9
z1{VfbsAhYHdM2<P+}c_@83dRZb})#cn;{Q21L72Js2L0l+zf6E?qI9=89;W~GB7Z#
zXJBSvW?*2j*ufy<vxz}TdmDq=Oa@U1OXmQCfz~z#qwwVnQo9)pBDXV``s!$Ht7k9@
z2Px3m#$Xn{k%57M1?+q|26hGp1{DSt22}<=1~mo+1`P%c22BP%1}z421|6`I6d0Hp
zG#L09JQzH|ez1T#j)lR5!HdD0fsw(7fq?<!d59`s1||kS1_lOB2Btp@3hWI2VhoH7
z^??jQ3``6l=U-%CW?*ArU@+9x0Xtk6L?by{8tQB-R!LT{Pjq!8Sy7!W1vbEdfrG)2
zL4v`UL6O0PL4(1R!GOUW>|{FzHU>qglUYGlG33MI){r5XAp{&zhG5r&V&0G;ltC37
zq=pP(44w=uU>||}4Kc)*0b)ofLpWSj1Op4$mn;lS65<Sz-~<uHz{n5{X2k#ieYV#5

diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index 37b3b8ba1f9900d28aabf3f9453e8536c2a212b8..c492006b2d0970468eb0f6acd127bd43204d83e7 100644
GIT binary patch
delta 20139
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

delta 20244
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%0AU
zrFWLg^&BYh1A`z6{m*mhUEm71$fd8%tOF6!yu_t<nalMk7gR~Y6)wH2T)ul?PK&w5
zrFWgn=?0hkR4z%V6KrpC>D}UTy3OT&hs*g8m%5|`)c-1Xx%BRV0+AnLIM019y$4)Q
z2e~95eCdZ=dXKo=9&@>E<>K~%h<QEX(tFC~IFl<0!cTn0rT3i6e=e5`gzx-<OYbF@
b(<?5w*IaIgxVV*}W+{Nu8RG^<@Zm}TL==}0

diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java
index 241535a..0ff42af 100644
--- a/src/main/java/app/SimulatorApplication.java
+++ b/src/main/java/app/SimulatorApplication.java
@@ -17,11 +17,12 @@ public class SimulatorApplication extends javafx.application.Application {
   private static final int COLUMN_COUNT = 20;
   private static final int SQUARE_WIDTH = 30;
   private static final int SQUARE_HEIGHT = 30;
-  public static final int INITIAL_FIRE_COUNT = 5;
+  public static final int INITIAL_FIRE_COUNT = 8;
   public static final int INITIAL_FIREFIGHTER_COUNT = 3;
   public static final int INITIAL_CLOUD_COUNT = 15;
   public static final int INITIAL_MOTORIZEDFIREFIGHTER_COUNT = 2;
   public static final int INITIAL_MOUNTAIN_COUNT = 15;
+  public static final int INITIAL_ROAD_COUNT = 10;
 
   private Stage primaryStage;
   private Parent view;
@@ -47,7 +48,7 @@ public class SimulatorApplication extends javafx.application.Application {
     view = loader.load();
     Controller controller = loader.getController();
     controller.initialize(SQUARE_WIDTH, SQUARE_HEIGHT, COLUMN_COUNT, ROW_COUNT,
-            INITIAL_FIRE_COUNT, INITIAL_FIREFIGHTER_COUNT, INITIAL_CLOUD_COUNT,INITIAL_MOTORIZEDFIREFIGHTER_COUNT,INITIAL_MOUNTAIN_COUNT);
+            INITIAL_FIRE_COUNT, INITIAL_FIREFIGHTER_COUNT, INITIAL_CLOUD_COUNT,INITIAL_MOTORIZEDFIREFIGHTER_COUNT,INITIAL_MOUNTAIN_COUNT,INITIAL_ROAD_COUNT);
   }
 
   private void showScene() {
diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index b5f3cde..a5f13de 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -24,7 +24,7 @@ import static java.util.Objects.requireNonNull;
 
 public class Controller {
 
-  public static final int PERIOD_IN_MILLISECONDS = 50;
+  public static final int PERIOD_IN_MILLISECONDS = 300;
   @FXML
   public Button restartButton;
   @FXML
@@ -111,10 +111,11 @@ public class Controller {
     repaintGrid();
   }
 
-  public void initialize(int squareWidth, int squareHeight, int columnCount,
-                         int rowCount, int initialFireCount, int initialFirefighterCount,int initialCloudCount,int initialMotorizedFireFighterCount,int initialMountainCount) {
+  public void initialize(int squareWidth, int squareHeight, int columnCount, int rowCount, int initialFireCount,
+                         int initialFirefighterCount,int initialCloudCount,
+                         int initialMotorizedFireFighterCount,int initialMountainCount,int initialRoadCount ) {
     grid.setDimensions(columnCount, rowCount, squareWidth, squareHeight);
-    board = new GameBoard(rowCount,columnCount,initialFireCount,initialFirefighterCount,initialCloudCount,initialMotorizedFireFighterCount,initialMountainCount);
+    board = new GameBoard(rowCount,columnCount,initialFireCount,initialFirefighterCount,initialCloudCount,initialMotorizedFireFighterCount,initialMountainCount,initialRoadCount);
     board.initializeElements();
     repaintGrid();
   }
diff --git a/src/main/java/model/Builder/ConcreteGameBuilder.java b/src/main/java/model/Builder/ConcreteGameBuilder.java
index 0c367e3..627f03f 100644
--- a/src/main/java/model/Builder/ConcreteGameBuilder.java
+++ b/src/main/java/model/Builder/ConcreteGameBuilder.java
@@ -36,9 +36,13 @@ public class ConcreteGameBuilder implements GameBuilder{
         this.mountains=mountains;
         return this;
     }
+    public GameBuilder setRoad(int roads) {
+        this.roads=roads;
+        return this;
+    }
 
     @Override
     public GameManage build() {
-        return new GameManage(fire,firefighter,clouds,motorizedFireFighters,roads,mountains);
+        return new GameManage(fire,firefighter,clouds,motorizedFireFighters,mountains,roads);
     }
 }
\ No newline at end of file
diff --git a/src/main/java/model/Builder/FireFirefightersBuilder.java b/src/main/java/model/Builder/FireFirefightersBuilder.java
index 53d18f8..85b8f5e 100644
--- a/src/main/java/model/Builder/FireFirefightersBuilder.java
+++ b/src/main/java/model/Builder/FireFirefightersBuilder.java
@@ -1,7 +1,7 @@
 package model.Builder;
 
 public class FireFirefightersBuilder {
-    public void Build(int fires, int firefighters , int clouds , int motorizedFireFighters ,int mountains) {
+    public void Build(int fires, int firefighters , int clouds , int motorizedFireFighters ,int mountains,int roads) {
         ConcreteGameBuilder concreteGameBuilder;
         concreteGameBuilder =new ConcreteGameBuilder();
         concreteGameBuilder.setFire(fires)
@@ -9,6 +9,7 @@ public class FireFirefightersBuilder {
                 .setCloud(clouds)
                 .setMotorizedFireFighter(motorizedFireFighters)
                 .setMountain(mountains)
+                .setRoad(roads)
                 .build();
     }
 }
diff --git a/src/main/java/model/Builder/GameBuilder.java b/src/main/java/model/Builder/GameBuilder.java
index 603ed19..64cb6b6 100644
--- a/src/main/java/model/Builder/GameBuilder.java
+++ b/src/main/java/model/Builder/GameBuilder.java
@@ -7,6 +7,7 @@ public interface GameBuilder {
         model.Builder.GameBuilder setCloud(int cloud);
         model.Builder.GameBuilder setMotorizedFireFighter(int motorizedFireFighter);
         model.Builder.GameBuilder setMountain(int mountain);
+        model.Builder.GameBuilder setRoad(int mountain);
 
         // TODO: 15/11/2023 la suite
         GameManage build();
diff --git a/src/main/java/model/Builder/GameManage.java b/src/main/java/model/Builder/GameManage.java
index c544874..479b574 100644
--- a/src/main/java/model/Builder/GameManage.java
+++ b/src/main/java/model/Builder/GameManage.java
@@ -6,6 +6,7 @@ import model.ExtinguishFire.FireFighter;
 import model.ExtinguishFire.MotorizedFireFighter;
 import model.Flammable.Fire;
 import model.Obstacle.Mountain;
+import model.Obstacle.Road;
 
 public class GameManage {
     private final int fires;
@@ -32,7 +33,7 @@ public class GameManage {
             new Fire(Color.RED);
         }
         for(int i=0;i<clouds;i++) {
-            new Cloud(Color.GRAY);
+            new Cloud(Color.DARKCYAN);
         }
         for(int i=0;i<motorizedFireFighters;i++) {
             new MotorizedFireFighter(Color.ORANGE);
@@ -43,6 +44,9 @@ public class GameManage {
         for(int i=0;i<firefighters;i++) {
             new FireFighter(Color.BLUE);
         }
+        for(int i=0;i<roads;i++) {
+            new Road(Color.GRAY);
+        }
     }
 
 }
diff --git a/src/main/java/model/ExtinguishFire/FireFighter.java b/src/main/java/model/ExtinguishFire/FireFighter.java
index ba92948..5d0a8b5 100644
--- a/src/main/java/model/ExtinguishFire/FireFighter.java
+++ b/src/main/java/model/ExtinguishFire/FireFighter.java
@@ -14,7 +14,7 @@ import java.util.*;
 import static model.GameBoard.elementPosition;
 
 
-public class FireFighter implements ExtinguishFire {
+public class FireFighter extends FireFighters {
     private final Color color;
 
     public FireFighter(Color color) {
@@ -31,83 +31,35 @@ public class FireFighter implements ExtinguishFire {
         return visitor.visit(this);
     }
 
-    @Override
     public void initialize() {
-        Position position = GameBoard.randomPosition();
-        while(!canInitialise(position)){
-            position = GameBoard.randomPosition();
-        }
-        addElementToElementPosition(elementPosition,position);
+        super.initialize();
     }
-
-    private void addElementToElementPosition(HashMap<Position, ArrayList<BoardElement>> elementPosition, Position position) {
-        if (elementPosition.containsKey(position) ) {
-            elementPosition.get(position).add(this);
-
-        } else {
-            ArrayList<BoardElement> boardElements = new ArrayList<>();
-            boardElements.add(this);
-            elementPosition.put(position, boardElements);
-        }
-    }
-
-    private boolean canInitialise(Position position) {
-        if(elementPosition.containsKey(position)){
-            for (BoardElement element : GameBoard.elementPosition.get(position)) {
-                if (element.accept(new FireFinder()) || element.accept(new CrossMountain())) {
-                    return false;
-                }
-            }
-        }
-        return true;
+    public void moveAndExtinguish(HashMap<Position, ArrayList<BoardElement>> newElementPosition, Position newFirefighterPosition, ArrayList<Position> extinguishPosition, List<Position> firePositions, GameBoard gameBoard) {
+        addElementToElementPosition(newElementPosition, newFirefighterPosition);
+        extinguishPosition.add(newFirefighterPosition);
+        List<Position> neighborFirePositions = gameBoard.neighbors(newFirefighterPosition).stream()
+                .filter(firePositions()::contains).toList();
+        extinguishPosition.addAll(neighborFirePositions);
     }
 
     @Override
     public void update(GameBoard gameBoard, Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition) {
-        List<Position> firePositions = firePosition();
+        List<Position> firePositions = firePositions();
         Position newFirefighterPosition = gameBoard.neighborClosestToFire(position);
         extinguishPosition.add(position);
         if(canMove(newFirefighterPosition)){
             moveAndExtinguish(newElementPosition,newFirefighterPosition,extinguishPosition,firePositions,gameBoard);
         }else {
             List<Position> neighbors = gameBoard.neighbors(position);
-            for (Position positionNeighbour : neighbors) {
-                if(canMove(positionNeighbour)){
-                    moveAndExtinguish(newElementPosition,positionNeighbour,extinguishPosition,firePositions,gameBoard);
+            for (Position neighbourPosition : neighbors) {
+                if(canMove(neighbourPosition)){
+                    moveAndExtinguish(newElementPosition,neighbourPosition,extinguishPosition,firePositions,gameBoard);
                     return;
                 }
             }
-            moveAndExtinguish(newElementPosition,position,extinguishPosition,firePositions,gameBoard);
+          //  moveAndExtinguish(newElementPosition,position,extinguishPosition,firePositions,gameBoard);
         }
     }
-    private void moveAndExtinguish(HashMap<Position, ArrayList<BoardElement>> newElementPosition, Position newFirefighterPosition, ArrayList<Position> extinguishPosition, List<Position> firePositions, GameBoard gameBoard) {
-        addElementToElementPosition(newElementPosition,newFirefighterPosition);
-        extinguishPosition.add(newFirefighterPosition);
-        List<Position> neighborFirePositions = gameBoard.neighbors(newFirefighterPosition).stream()
-                .filter(firePositions::contains).toList();
-        extinguishPosition.addAll(neighborFirePositions);
-    }
-    private boolean canMove(Position newFirefighterPosition) {
-        if(elementPosition.containsKey(newFirefighterPosition)){
-            for (BoardElement boardElement : elementPosition.get(newFirefighterPosition)) {
-                if (boardElement.accept(new CrossMountain())) {
-                    return false;
-                }
-            }
-        }
-        return true;
-    }
 
-    private List<Position> firePosition(){
-        List<Position> firePositions = new ArrayList<>();
-        for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()) {
-            for (BoardElement element : entry.getValue()) {
-                if (element.accept(new FireFinder())) {
-                    firePositions.add(entry.getKey());
-                }
-            }
-        }
-        return firePositions;
-    }
 }
 
diff --git a/src/main/java/model/ExtinguishFire/FireFighters.java b/src/main/java/model/ExtinguishFire/FireFighters.java
new file mode 100644
index 0000000..519a76c
--- /dev/null
+++ b/src/main/java/model/ExtinguishFire/FireFighters.java
@@ -0,0 +1,80 @@
+package model.ExtinguishFire;
+
+import javafx.scene.paint.Color;
+import model.BoardElement;
+import model.GameBoard;
+import model.Visitor.CrossMountain;
+import model.Visitor.FireFinder;
+import model.Visitor.Visitor;
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static model.GameBoard.elementPosition;
+
+public abstract class FireFighters implements BoardElement {
+
+    public abstract Color getColor();
+
+    @Override
+    public abstract Boolean accept(Visitor visitor);
+
+    @Override
+    public void initialize() {
+        Position position = GameBoard.randomPosition();
+        while (!canInitialise(position)) {
+            position = GameBoard.randomPosition();
+        }
+        addElementToElementPosition(elementPosition, position);
+    }
+
+    public void addElementToElementPosition(HashMap<Position, ArrayList<BoardElement>> elementPosition, Position position) {
+        if (elementPosition.containsKey(position)) {
+            elementPosition.get(position).add(this);
+
+        } else {
+            ArrayList<BoardElement> boardElements = new ArrayList<>();
+            boardElements.add(this);
+            elementPosition.put(position, boardElements);
+        }
+    }
+
+    public boolean canInitialise(Position position) {
+        if (elementPosition.containsKey(position)) {
+            for (BoardElement element : GameBoard.elementPosition.get(position)) {
+                if (element.accept(new FireFinder()) || element.accept(new CrossMountain())) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+
+    public boolean canMove(Position newFirefighterPosition) {
+        if (elementPosition.containsKey(newFirefighterPosition)) {
+            for (BoardElement boardElement : elementPosition.get(newFirefighterPosition)) {
+                if (boardElement.accept(new CrossMountain())) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+
+    public List<Position> firePositions() {
+        List<Position> firePositions = new ArrayList<>();
+        for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()) {
+            for (BoardElement element : entry.getValue()) {
+                if (element.accept(new FireFinder())) {
+                    firePositions.add(entry.getKey());
+                }
+            }
+        }
+        return firePositions;
+    }
+
+    public abstract void update(GameBoard gameBoard, Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition);
+}
\ No newline at end of file
diff --git a/src/main/java/model/ExtinguishFire/MotorizedFireFighter.java b/src/main/java/model/ExtinguishFire/MotorizedFireFighter.java
index 60b855d..a371a8e 100644
--- a/src/main/java/model/ExtinguishFire/MotorizedFireFighter.java
+++ b/src/main/java/model/ExtinguishFire/MotorizedFireFighter.java
@@ -3,26 +3,23 @@ package model.ExtinguishFire;
 import javafx.scene.paint.Color;
 import model.BoardElement;
 import model.GameBoard;
-import model.Visitor.CrossMountain;
-import model.Visitor.FireFinder;
 import model.Visitor.Visitor;
 import util.Position;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
-import static model.GameBoard.elementPosition;
 
-public class MotorizedFireFighter implements ExtinguishFire {
+public class MotorizedFireFighter extends FireFighters {
 
     private final Color color;
 
-    public MotorizedFireFighter(Color color){
-        this.color=color;
+    public MotorizedFireFighter(Color color) {
+        this.color = color;
         initialize();
     }
+
     @Override
     public Color getColor() {
         return color;
@@ -33,75 +30,45 @@ public class MotorizedFireFighter implements ExtinguishFire {
         return visitor.visit(this);
     }
 
-    @Override
     public void initialize() {
-        CrossMountain crossMountain=new CrossMountain();
-        boolean canInitialise;
-        Position position = GameBoard.randomPosition();
-        if(elementPosition.containsKey(position)) {
-            for (;;) {
-                canInitialise = true;
-                for (BoardElement element : elementPosition.get(position)) {
-                    if (element.accept(crossMountain)) {
-                        canInitialise = false;
-                        break;
-                    }
-                }
-                if (canInitialise) {
-                    break;
-                }
-                position = GameBoard.randomPosition();
-                if (!elementPosition.containsKey(position)) break;
-            }
-            if (elementPosition.containsKey(position))
-                elementPosition.get(position).add(this);
-            else {
-                ArrayList<BoardElement> boardElements = new ArrayList<>();
-                boardElements.add(this);
-                elementPosition.put(position, boardElements);
-            }
+        super.initialize();
+    }
 
+    public void moveAndExtinguish(HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> newMotorizedFireFighterPositions,
+                                  ArrayList<Position> extinguishPosition, List<Position> firePositions, GameBoard gameBoard) {
+        addElementToElementPosition(newElementPosition, newMotorizedFireFighterPositions.get(1));
+
+        for (Position newPosition : newMotorizedFireFighterPositions) {
+            extinguishPosition.add(newPosition);
+        }
+        List<Position> neighborFirePositions = new ArrayList<>();
+        neighborFirePositions.addAll(gameBoard.neighbors(newMotorizedFireFighterPositions.get(0)).stream()
+                .filter(firePositions::contains).toList());
+        neighborFirePositions.addAll(gameBoard.neighbors(newMotorizedFireFighterPositions.get(1)).stream()
+                .filter(firePositions::contains).toList());
+        for (Position firePosition : neighborFirePositions) {
+            extinguishPosition.add(firePosition);
         }
-        ArrayList<BoardElement> boardElements = new ArrayList<>();
-        boardElements.add(this);
-        elementPosition.put(position,boardElements);
     }
 
     @Override
     public void update(GameBoard gameBoard, Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition) {
 
-        List<Position> firePositions = new ArrayList<>();
-        for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()) {
-            for (BoardElement element : entry.getValue()) {
-                if (element.accept(new FireFinder())) {
-                    firePositions.add(entry.getKey());
-                }
-            }
-        }
+        List<Position> firePositions = firePositions();
         ArrayList<Position> newMotorizedFireFighterPositions = new ArrayList<>();
         Position newMotorizedFireFighterPosition1 = gameBoard.neighborClosestToFire(position);
         newMotorizedFireFighterPositions.add(newMotorizedFireFighterPosition1);
         Position newMotorizedFireFighterPosition2 = gameBoard.neighborClosestToFire(newMotorizedFireFighterPosition1);
         newMotorizedFireFighterPositions.add(newMotorizedFireFighterPosition2);
-
-        if(newElementPosition.containsKey(newMotorizedFireFighterPosition2)){
-            newElementPosition.get(newMotorizedFireFighterPosition2).add(this);
-        }
-        else{
-            ArrayList<BoardElement> boardElements = new ArrayList<>();
-            boardElements.add(this);
-            newElementPosition.put(newMotorizedFireFighterPosition2,boardElements);
-        }
-        for(Position newPosition : newMotorizedFireFighterPositions) {
-            extinguishPosition.add(newPosition);
-        }
-        List<Position> neighborFirePositions = new ArrayList<>();
-        neighborFirePositions.addAll(gameBoard.neighbors(newMotorizedFireFighterPosition1).stream()
-                .filter(firePositions::contains).toList());
-        neighborFirePositions.addAll(gameBoard.neighbors(newMotorizedFireFighterPosition2).stream()
-                .filter(firePositions::contains).toList());
-        for(Position firePosition : neighborFirePositions) {
-            extinguishPosition.add(firePosition);
+        if (canMove(newMotorizedFireFighterPosition2)) {
+            moveAndExtinguish(newElementPosition, newMotorizedFireFighterPositions, extinguishPosition,firePositions, gameBoard);
+        } else {
+            List<Position> neighbors = gameBoard.neighbors(position);
+            for (Position neighbourPosition : neighbors) {
+                if (canMove(neighbourPosition)) {
+                    moveAndExtinguish(newElementPosition, newMotorizedFireFighterPositions, extinguishPosition, firePositions, gameBoard);
+                }
+            }
         }
     }
 }
diff --git a/src/main/java/model/GameBoard.java b/src/main/java/model/GameBoard.java
index 01565fa..4cfd2b6 100644
--- a/src/main/java/model/GameBoard.java
+++ b/src/main/java/model/GameBoard.java
@@ -17,6 +17,7 @@ public class GameBoard implements Board{
     private int initialCloudCount;
     private int initialMotorizedFireFighterCount;
     private int initialMountainCount;
+    private int initialRoadCount;
 
     private int step = 0;
     static Random randomGenerator = new Random();
@@ -27,7 +28,8 @@ public class GameBoard implements Board{
     }
 
 
-    public GameBoard(int columnCount,int rowCount,int initialFireCount, int initialFirefighterCount,int initialCloudCount,int initialMotorizedFireFighterCount,int initialMountainCount) {
+    public GameBoard(int columnCount,int rowCount,int initialFireCount, int initialFirefighterCount,int initialCloudCount,
+                     int initialMotorizedFireFighterCount,int initialMountainCount,int initialRoadCount) {
         this.columnCount = columnCount;
         this.rowCount = rowCount;
         this.initialFireCount = initialFireCount;
@@ -35,11 +37,13 @@ public class GameBoard implements Board{
         this.initialCloudCount = initialCloudCount;
         this.initialMotorizedFireFighterCount=initialMotorizedFireFighterCount;
         this.initialMountainCount = initialMountainCount;
+        this.initialRoadCount = initialRoadCount;
     }
 
     public void initializeElements(){
         FireFirefightersBuilder fireFirefighterBuilder=new FireFirefightersBuilder();
-        fireFirefighterBuilder.Build(this.initialFireCount,this.initialFirefighterCount,this.initialCloudCount,this.initialMotorizedFireFighterCount,this.initialMountainCount);
+        fireFirefighterBuilder.Build(this.initialFireCount,this.initialFirefighterCount,
+                this.initialCloudCount,this.initialMotorizedFireFighterCount,this.initialMountainCount,this.initialRoadCount);
     }
 
     public static Position randomPosition() {
diff --git a/src/main/java/model/Obstacle/Mountain.java b/src/main/java/model/Obstacle/Mountain.java
index d53d4ce..643242c 100644
--- a/src/main/java/model/Obstacle/Mountain.java
+++ b/src/main/java/model/Obstacle/Mountain.java
@@ -3,17 +3,15 @@ package model.Obstacle;
 import javafx.scene.paint.Color;
 import model.BoardElement;
 import model.GameBoard;
-import model.Visitor.FireFinder;
 import model.Visitor.Visitor;
 import util.Position;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Map;
 
 import static model.GameBoard.elementPosition;
 
-public class Mountain implements Obstacles{
+public class Mountain extends Obstacles {
 
     private final Color color;
 
@@ -33,24 +31,11 @@ public class Mountain implements Obstacles{
 
     @Override
     public void initialize() {
-        Position position = GameBoard.randomPosition();
-        if (elementPosition.containsKey(position))
-            elementPosition.get(position).add(this);
-        else {
-            ArrayList<BoardElement> boardElements = new ArrayList<>();
-            boardElements.add(this);
-            elementPosition.put(position, boardElements);
-        }
+        super.initialize();
     }
 
     @Override
     public void update(GameBoard gameBoard, Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition) {
-        if(newElementPosition.containsKey(position))
-            newElementPosition.get(position).add(this);
-        else{
-            ArrayList<BoardElement> boardElements = new ArrayList<>();
-            boardElements.add(this);
-            newElementPosition.put(position,boardElements);
-        }
+        super.update(gameBoard,position,newElementPosition,extinguishPosition);
     }
 }
diff --git a/src/main/java/model/Obstacle/Obstacles.java b/src/main/java/model/Obstacle/Obstacles.java
index c913b4a..52c830f 100644
--- a/src/main/java/model/Obstacle/Obstacles.java
+++ b/src/main/java/model/Obstacle/Obstacles.java
@@ -1,15 +1,38 @@
 package model.Obstacle;
 
+import javafx.scene.paint.Color;
 import model.BoardElement;
 import model.GameBoard;
+import model.Visitor.Visitor;
 import util.Position;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 
-public interface Obstacles extends BoardElement {
+import static model.GameBoard.elementPosition;
 
-    //void update(GameBoard gameBoard, Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition);
+public abstract class Obstacles implements BoardElement {
+    public abstract Color getColor();
+    public abstract  Boolean accept(Visitor visitor);
+    public void initialize(){
+        Position position = GameBoard.randomPosition();
+        if (elementPosition.containsKey(position))
+            elementPosition.get(position).add(this);
+        else {
+            ArrayList<BoardElement> boardElements = new ArrayList<>();
+            boardElements.add(this);
+            elementPosition.put(position, boardElements);
+        }
+    }
+    public void update(GameBoard gameBoard , Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition,
+                       ArrayList<Position> extinguishPosition){
+        if(newElementPosition.containsKey(position))
+            newElementPosition.get(position).add(this);
+        else{
+            ArrayList<BoardElement> boardElements = new ArrayList<>();
+            boardElements.add(this);
+            newElementPosition.put(position,boardElements);
+        }
+    }
 
 }
diff --git a/src/main/java/model/Obstacle/Road.java b/src/main/java/model/Obstacle/Road.java
index 70a0adb..f4a15d5 100644
--- a/src/main/java/model/Obstacle/Road.java
+++ b/src/main/java/model/Obstacle/Road.java
@@ -1,4 +1,38 @@
 package model.Obstacle;
 
-public class Road {
+import javafx.scene.paint.Color;
+import model.BoardElement;
+import model.GameBoard;
+import model.Visitor.Visitor;
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public class Road extends Obstacles {
+    private final Color color;
+
+    public Road(Color color){
+        this.color=color;
+        initialize();
+    }
+    @Override
+    public Color getColor() {
+        return color;
+    }
+
+    @Override
+    public Boolean accept(Visitor visitor) {
+        return visitor.visit(this);
+    }
+
+    @Override
+    public void initialize() {
+        super.initialize();
+    }
+
+    @Override
+    public void update(GameBoard gameBoard, Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition) {
+        super.update(gameBoard,position,newElementPosition,extinguishPosition);
+    }
 }
-- 
GitLab