From d7791947ce58fee2cf90bcb3972d430b8babae8f Mon Sep 17 00:00:00 2001
From: c19014407 <rami.chahine@etu.univ-amu.fr>
Date: Wed, 27 Nov 2024 17:46:17 +0100
Subject: [PATCH] fix the problem with the firefighter movment

---
 .../executionHistory/executionHistory.bin     | Bin 94827 -> 94827 bytes
 .../executionHistory/executionHistory.lock    | Bin 17 -> 17 bytes
 .gradle/8.10.2/fileHashes/fileHashes.bin      | Bin 21847 -> 21847 bytes
 .gradle/8.10.2/fileHashes/fileHashes.lock     | Bin 17 -> 17 bytes
 .../8.10.2/fileHashes/resourceHashesCache.bin | Bin 23427 -> 24515 bytes
 .../buildOutputCleanup.lock                   | Bin 17 -> 17 bytes
 .../java/main/model/FirefighterBoard.class    | Bin 6262 -> 6295 bytes
 .../java/main/model/FirefighterManager.class  | Bin 2662 -> 2479 bytes
 build/libs/firefighter.jar                    | Bin 24654 -> 24670 bytes
 .../compileJava/previous-compilation-data.bin | Bin 21390 -> 21390 bytes
 src/main/java/controller/Controller.java      |   4 ++++
 src/main/java/model/FirefighterBoard.java     |   5 ++--
 src/main/java/model/FirefighterManager.java   |  22 +++++++-----------
 .../SimpleFirefighterMovementStrategy.java    |  14 ++++++++++-
 14 files changed, 28 insertions(+), 17 deletions(-)

diff --git a/.gradle/8.10.2/executionHistory/executionHistory.bin b/.gradle/8.10.2/executionHistory/executionHistory.bin
index 97b9b48bbdd5886fbb8a82db0b1683936f142b3a..e355aa2287bd5e0f1c3ff03697d466d9496a06c0 100644
GIT binary patch
delta 681
zcmaF;g!T0k)(!q1wk0W*=H&$yrD<8I>Bf0Rl_eF4#%2XcNg0I#jE6EGYwOwjxqqCl
zY+y0FBn3lca^gCL&1*cqa0$Fpauiy~p)z~TgozzrUNz2`ydikGz~aOI()Jv=?)G)^
zw1#afZu4&UO<{Cr*}N{|A-h21inr>E)n^~E>b-V5z46=Z$qVyRr`H)X3Qn%i6P%t~
zz$mrZA#oz3c+HX49JZqg(|l&iu}l2=vhMcG2OqW>-P`;kDO%kwu_!awsHCDSJuBHL
zC9fzkyDTj=E2A{aBv-&Twd(TkzrxxIGd^q*uf2R~HzS77=Eg2TKA}xLr+1$Gv>^B7
z@+W!Sw|{MBoIN@5x!C4iGYXl6{$+(2Sb3V?)VTlG{qHPsZ^k*(A0{!1O%9&jEELSL
z&?fYcq1V%zM#Jz0hWi-jP4`b>l$?BFHp^z#IS-hH45Hp!-g~s=O+n~XkE4gh<}<FH
zd>}$&@_{)lo0S*%unH*7>tA`ilX*F3XJ_~}lgq}F>z5v8`Pgyx^JKSWX;Q~88Cy!e
z-FNr0S087Mah1T2mdBsB8U2xFoHIFbrr6~80M^M5m&poPO`h0LUb_9qt6s(n8zj=_
zOy*nO!E*NB-_Mh0Etiu(kCn^+{(jzOG~ICWh2=6*eO|f=qRA(BTd*GSOjxzi<>1V>
zpSKyU7iL^E*)UXbv-%2FMk$%x4_f9Tx2~9N6m!}W*`Id@Y`{%E#`%*MHpop*St%<Z
zuwdZ<iOqHsI+~9>3NsY!pFDA;D$8S#3wEts#<95-<m^Ktlkca?O>SG|E$}zdGO~9K
w<MVI3zRpY$*tTr*#T0%fkxw;NfAe=Vgxcpw^_`k?FZbWSzn?d=tW7@(0Hk_HxBvhE

delta 664
zcmaF;g!T0k)(!q1wn-*wiOCh^Re5PCrD-YI6=r2-`Pq3%Y37vz&xK2GTsylqb5dfN
z&ot#C4@V4<$%*R}Hm~vc!X;pI?|5eC$%Dr<LmU<ss~>whc|-8>?Y1e5;VhfiMLc8|
z*gpMumP)bnrp=*W{+?IXSvh%OUh4EZV@AQr^?8ERa|;-yHajFvWE6j~pu({|PH~!l
zK<8S=NmBlkcfLHb&FI|b7fI3Tc6i(x%=6EWU8{JV?gh?`*?R)_Y-AEZ7uwv|CCDfA
z?o|z&z5DSJ4Ut-BVWFF8jI$>vJ{Q}(YepfHP<HmJ30&^-m6;(c=g$6|62&-Y`oknf
zvB|-+n}rTICu;6}b?4Tqs710%uLwV6oHyM+g;8?yh1o2dS?4@p780*<>WX`JGVJ(+
znV-3R1hz1)oqQldWAcGHESr@V_^=Adi#@lV{d4bKhN2g9wDqg)Cf6@L%<}9;+q}tc
z%hIIm-Zbws+;h+<u~OmOzc%I@2eyO!eNCEi&g8_IVw2+oSSLSRCM$4B@z>2~`%;Ry
z3MANsKkrGM%(uLQ<<a(+M<&l&E+>H=39rD0d^4DQVY!Tyq1M^Gd^s_?Co?U>YL@nF
zzqe)b;cZ6GL>L!MHVjqVtiFPkQL1r&>+Y5Vk+IUd<hRx2ohUyucgehMMyq%k=TBbP
zAU8Q>rL4ftN7)`nMAwz5@gLuKGg)Ew<cTX)SsHh|JTiIL%4HnCz&0KdnS4K8ZgSfy
pZ;W`~d@+TeNrdr2oQ7V;i|3Lv6z=4we@|Y$<K>afENjz`0sxbEHVOa$

diff --git a/.gradle/8.10.2/executionHistory/executionHistory.lock b/.gradle/8.10.2/executionHistory/executionHistory.lock
index 171bc6acfb0e06b4b6c3cecab799a21b784b60ee..47b1fe723adb49a563d8c731d828e28d88ca2963 100644
GIT binary patch
literal 17
UcmZRsO8#f>m)m%p0Sp)w05eJiLI3~&

literal 17
UcmZRsO8#f>m)m%p0RpxH05jbL)&Kwi

diff --git a/.gradle/8.10.2/fileHashes/fileHashes.bin b/.gradle/8.10.2/fileHashes/fileHashes.bin
index 1b5cbc73c6e61e5bf820916145dfd7bf1d415d90..126205d93af5e1d5f3c159e10c2c1574e7f4a2d2 100644
GIT binary patch
delta 419
zcmcb<it+j?#tq`03f~sl{?9l0b>-z$kxSZj6-5jTjFa<<9rYN%fFo<Nx#tRnNT$oD
zXZ?R-7@%YBdB3D54Xh}A`Wvts2Ccfu|2<t4oOduRY<QEK<Z`a_;f5XOcY_tx*Fa5T
zJ-#{Fi-%ERo|?y_?`8fr-48^Vvg}#+fK^p{mO+eS+c&x2JAx&z+^THyYwt%2$1fRM
zO1|B9_p(<XXN_@{09bX!p$dp<-anJy`b4ng6}uEp_Vo2pkjed^WiE2-irGdnr#+GV
zd0^G`^)V3D?2(hV`mRuTrQ|5IkV9qmnh6s-zPxIj0aX+XQ6w>aa;@Jjg+4Fc1kvP^
zyDeCccqXjc=mJ($?Q;;Kh;#kqa{maHy!v|I$(Q{TSn?_kZJul%kN^@%o;*81O5#(E
z)!+Ob4WafqQhlf9+{*>)udlD$d^SLYQK9BYYYyAdglRrA<=7>DeOU*VmEgGzF+Cw}
JGh<K~GXR%PmiGVv

delta 419
zcmcb<it+j?#tq`03L?VmSs$32Pn#s^v5V)#&!-FwjFXe=qrNbJ0f)e3bI%nD<_y~A
zJNBIY|AfKm>BO^zmqCg$W`*AYt6|VGoBZF?ML}=ttk&&zsaDJS8hRf**}VXyDEWl>
zCx{~E{>{l=Jd6s@VmqG%yRL|yb52A~=a$fCkgAN7>Fp3z91|z^dq=Qjq#Smf{M!4G
zg58_ueTI7u8YNaLocq_td;_d{R`dagYTj#;-}*$bBp+OpHrdnHN1<_l>+Y5Vk+IUd
z<hRx2ohS#XPCm(Z2BMm6)#R<dD-?|G9nb7MdGMHKh{M8S^<!WUXUvLz1yLkXHo4aC
zmV%+y*}Z%@F}f!+EyHS-_G|~4l#y~P4x)%FZF0GP1WU%O=tq+;`zL@Hzb2apfEY21
zlV=A=NibfB)6mO!@mz9-!kzr|@5x~OvtqP2pA8UURCuwV!m&M0ahiWX=UT@}QvOic
P$q>^M{5CTNg)svFIt!W&

diff --git a/.gradle/8.10.2/fileHashes/fileHashes.lock b/.gradle/8.10.2/fileHashes/fileHashes.lock
index 95bab72c139aec6844f8b0fcd849a0ddc30fa572..56dcf9b95c2b028d13ec0f3f34b338ad9e02551e 100644
GIT binary patch
literal 17
UcmZRUE=)E0=%H|g0Ss8304H|?ivR!s

literal 17
VcmZRUE=)E0=%H|g0SuT=0stra1P}lK

diff --git a/.gradle/8.10.2/fileHashes/resourceHashesCache.bin b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin
index 352033907f59a15563ae59d12b450338bd14ae98..48e6f72e72c2ef3eadd50630f7dde7a18cadf65b 100644
GIT binary patch
delta 1842
zcmZqP&Ukn~;|3E6&5aFFhbroYUzsz2f#=l!P|#4A+I)=l`%ADeL%if<R|y4;MoZ^2
z@Ahxufe6O=Le>6n5jfYf$9L8qh<FV5<XDLSfsUJs(h6Hy+#!N-S0^u(c*wt`kY(xy
zw>*eg?DNUBk{dK;PTD6ZEoagR5scA=nL68)e^&XC4-X;Yao;DaN<9!*`MY?>Rb%l~
zh+usE=D$(}j2g$LdxQn_6~sbBW3I!DI3D5tp3z^K7a|_LbaJYUg}}KL4B?l=s%}68
z;}=ezDr2E>HTuue*+2SiA%d|-VJ6%vVcppzA$JoZ9y59JQ5gk+yU#Xt?B1q-2O=16
zJ^8N8Mt(-KOlEUqVTf2<{^VBKKz>g7l>V7JmqWy2{3oB44G{R&_B`~O>$Eu#!8q;B
zqH-4)HF&-E@@;N7<_8ts46~na8Sj;Dl~;@q@#yBscjYY{1ozFjY5%P6I8^XBOtDbK
zPyf%7GZZ1>@v$&*5wSHN&-#D=0}+qex|vr&fKfo_!oh^p2TS=NqR}rWiz;Ra=ubEA
zyAW3ijmkLA&83P0i~@FBGsX5F2!{q)OyT5Or5PG->++Yb>FRBU=#QHSv&~~mwcpp0
z$3+nFn4gn*l~3~f)L)rmB6a{G7TY-atg?bYXmskSphrQiP(j<tPnBl~q|8fbU!(9A
z>fzYMlS@?^1oGQkbHaDlLp>HNJ^8IlApe$^HBrscg;3q`lTB3@F$t{PsQ5#Cqd@`t
zW=9Vv;d)~R1_nt61_nV87WljK{)Wn=ClbcVw<SB}W}aqXV30#q!R;*_<NkE1qfD}_
z@bO>m&X_9B_^EnmOxBvu?X_xd&gMs;41#7xjCIjXV>gz`cgp<g-*YQ$b;2}c;UBlB
zYYs$yJ(BM?lj}a`2TT=*cg#|V;Mp_3((2`;Vn&G<m?}Ik-cu8qmcaNwB>A<xs?91)
z6+4sbZI{1e?h8#cpHbi~Kd~EA$(qWe=NTVudANq5Py75^ZYxX`jRLd#90mAa@p?tg
zda&hLIHrnTqlA>Bep6oV4Ewdp^qJ#FBo+10fPc2Ved?<vm-W*8Tw;H|knl!Q0#zY4
zrPtPYrcB-Z1cN^r8-IhMA1zqdx%|;!oXqxT{i$8YHPUhmFwKZ9%CxnL{m%WCA#n1B
zgNuzB80yjESH;-(<8RY7tFPzmifdb9#g1vnr^whmb{)AmxotN$Ub(^Hf~n$PR)~R>
zr}<5d`+wd4&JxGs8K)y@7fsf`4+*Ug4V7tGcn(y0p!w$6F8-Q_>36PO4iYRmcxKfX
zOlu}Ax?%EjTWasp8wFDCin~FD4VoDiTXR-L*t2_T$LyVU&N?pu(~NrN&4R1WZTkK4
zrQ4L-d)vJAFqLfTIlc4brv<qump{qtzWr-6rizu{T8ge)en>n%$KG1FHE9~A3X!KC
z$2o%jE5Bc5vBQhI8I+|UPOS%JI}jGAm+DpApj8*lw6p%tM9sygFb%1B|HNtU#Ewge
zPlNn(?wr_!sUnzVp-t!?L$9YbjfUY14EJHGuzx;r>!#pidlWrZo^AI2$LN8n<VI>`
nx`o8nO0BvxhhjOnPGG7qh<a~%@6nbw1))<tjvf}94^jaD8HzBh

delta 143
zcmX@SpRsv6;|3E6!HEq~hbroYUzsz2f#=l8u@VZC*GhOy=9RoT`Jd$S$ycRrY(6TT
z!8kcq)?o5dS%b-}auSnG<yKDqCg(9ZOx}I-R{0Z*lh-O5Y*tm`V4Uo#oUnPXG6&=2
yyDAeV&s9A*xlB!b@=~=4lYP}ICf`-}oNT8tlZkibM#UfE8x0D$HamJa2?GEwe>NWg

diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index f08260a3a186325b43aa1f1263fafa4e06b8d5be..300e8a5a0a0c9b8c3c4829f56649d150fd04b8fe 100644
GIT binary patch
literal 17
VcmZR+;bwJ3Kx+R{1~6cJ4*)R$1kL~e

literal 17
UcmZR+;bwJ3Kx+R{1_(F{05IGHs{jB1

diff --git a/build/classes/java/main/model/FirefighterBoard.class b/build/classes/java/main/model/FirefighterBoard.class
index 3e742235542383603f5bec9a42fe8c9c5fde97cb..88cc5de061dc98369fb8cad93449d873030dfdee 100644
GIT binary patch
delta 335
zcmexnFx_y&WmbI$4WF#UvPAvTlFS_a;M5XpB(85_0W#Mov$$mQC)PQ<T#Nz?EDS6R
z3=Bn+X9zn>Yi(gr+{Q53Pg{2<Ll+Z6IEcTKA&HSeOLy{1VcB{k1|9|mhEfI&h6)BD
zhDrtnhAIYahB^i-hI$5Xh6aXUhDL@Mh9-tYhE|3&hIWPmh7N`u3=9lf5IY!lGVEet
zVBlcLVz|Jd!obL2#bCj3k>L^p6N5K{I>TiK6$WO8LktWIVhl`BRht+Xp>mrTm?t-i
zR0{Sma4_^Ts5101STgi8*f30(%q{v(aSDSh!&C+xhG`7m4AU7R8D=n~GR$PiW0=iQ
z$S{YYgkkPxDKQ~N*#!(742v058I~}ZGc0AWVpzct&ajdplVKG@4#S$wp5nTU0Hdu>
A-~a#s

delta 321
zcmbPk_|0I$Wmb6u4WF#UvPAvTlFS_a;M5XpB(85_!Dc45IlNp9{~1^qSQr=>QYWtv
zcCO#XFxgLAcPB#^6GOO`_ErW(E$wX#)3qYEFtD>EY-M2A-oU`Xz{0Sdfq_Afft!JW
zp_GAxp@Kn(p^`y?p^8D9p^m|dp`O8=p@G4lp^+hkp@kump^YJ#p`Bp|0|SE=#43iJ
z47(T@7&sVW87?rWFfcM$F=#VfWVpnj$i(2zAjfc-L4|>t;Sd7@gBSx7RM{p5Mv&a(
zIU@Cf-3%NIJq)T0y$qHNeGE1X{gZV>-ziRJkY$*{pu;eg!JA<kLnOm=hE#?b40#N*
z7z!C?Gn6pQ*=#K)#3(zTfrDWYgDS&f26Kib3|0)w8NwM>Fk~{UWXNGyy*W!<mk|K0
CrAZC|

diff --git a/build/classes/java/main/model/FirefighterManager.class b/build/classes/java/main/model/FirefighterManager.class
index 89b6c24ed9ef15fad7b0854825234ded5a00d66a..409f7446ed1fcdee1bb253c76f39f4525a39d7b1 100644
GIT binary patch
delta 823
zcmaDRvR;_$)W2Q(7#J9w7;-mqH8It5GFUNKvoqN6FxWEKF)|2bC6*=X=OpH(>jzgB
zm!#%0GBD?tmM}7i`haCJ^YsIYGV@A;ONvqxbFH};92gwg8Ju_+oEcmg8HBN@VPs%0
z0O`odV`LE3fS3X{-#;lUHCe30S~HBBL4m=IhrykJjgf&hIVUx-XtOYL2qTk&#^g9A
zIdzDh(vr*^eV@$Y5^GI#0Y(Pyywvi^^I2pjUuVgh9KhPZxODPG)}+Y-Y>JbO*)~dh
zFfcGMF?cdCF>o{RFfcH%FfcN(GI%jCGI&q^&!%SU!@$5G#K6M9z`)JG!ob78$-v7X
z!obJi%fP@O#=ykDz#z)t$KcNZ0-|6u7#SED0vH0pCM2=jG5Sni$Sz(FQg6q=#=y*=
z$q>X4%)rXPz@Q7)sml<;5X`^`77Jwv2AiwP5XKP9zzh}(XNX{6VTfd4VBln6`oqA?
z_=`b<fsrAKA)0}S!JC1BQI~;*frEj8A$~UlZ{&6cek&H;oeZjs3|6d?tUDPr8S5El
zGFXF{`iu+*7(}etw6-v?OR{O}>|`)zVX$J~#9%4OzKy{iM6+#Uu$N?!WZ%gk&%_YE
z{Qp7SoeZvw43aE<k}Mm*K?DjEEe0+I1_lWRP6lZPbp}}mGX^;ZI|g|MHwIOP00uRN
zU<P%DNCpjt7zRxSUxs=H1`h^y1~UdJh8Tue26hH@22F-IhFAtRkfY(@5YG_LkN^&c
zc!orVByc#yGYByVGcYr7GK4WCGYB)VFr+XrFld3}1f)I{u09Q}-V?6g6B2Gp415es
ze;EYX85GzVw0<!-GC(3eoq>@dgCP?Xijx(&#PmTvV*?wg3yxwQFq;+XK!~0!21bT#
IaI(n(09s;+E&u=k

delta 1048
zcmZ24{7i)F)W2Q(7#J9w81grAH8It5GgvWLvoqN6FxWEKF*5LGC6*=XmzHGa==&xX
zFfuTwr<O1>sA>3s#d8w#()In5vQm>vtTi!(xEUN69N8J1co>`+R8Y(c2ART<oS#>c
zn3-1$Qs>IU;KrcB$icu?l$x7gmbzJyIfRkPKx1+olY$u7GO#0jGK)*B85wxeGK*3t
z?_rUV;?7Gg56CahEXmBzV`SjYOHC|Fs&vaNN-dszjU|VLCoi>pvN>xvQ;Wvr7*>VJ
zPgorpH76S|D^Jd1>y>tAU|?Wk@L*tK;AY@qU|?WjU}Rur@MK_Q@R}^du4e1az`!8H
zz{0@5z|FwIz{9}Fz{?=Qz{lXjz`!8Jz{J47Aj;s&;Ku+0qF^%^85kM-83Mp2l(O5^
zBTNut;A9YHP-75c&|we-n_$Pl#=y*=$q>j8#K6kHz@Q5^OP3*-A&7wyEEd8L1hz?+
zA(SDAff+0o#t_cH!Vtm0z`)7C^oN0&@fU*z10zEuLlgrOgBJq><97xY25trh2K6nw
z8F(YNGw}OCX)6}3EerxX8B`e=tXL&kcQR-)GR$P?ob1OTU9Tg_zLUX{iQxc)f)$4(
z2SgF4BqvmnK8U5y$Z&u`#EMH>l4~b}Jrl!B22n86g^3|t7bGUn#1Ovx|5-^EkYON>
zt|Z$|1_*;4!dU*lSWA*+D}#XU25^{z!pMn1pq_z&L4tvUL6Sj`L7KscL6*UhL4m=K
zL6ISsL5ZP)L7AbEL4~1<L5-o8L6c!RgBHUA25p9w3_1*J81xu6G3bK>HHLwcA(ugx
zA(|nEfs4VBA%h{7A%=mS!H*%DA&x<qfrG(_p`0O}A%=mCfq`KQJjk~&)F&_`g2Q|Z
zLlQ$W0}}%W!y1MZ24Mzf20@0!45<vl3@i+33=9k=46IP&JQz5@h9oeg!*yoBb$Y;c
zdO%~#mx1*kgA6-^0vKuiXRu=6VrSrBXK-L=u&M_ODzGzXu``H(5s1yeVDyWD=|6)U
z11nr5L?HtM10?-sGB7e^F=Ruco<W}hlm;0XSV0jD3ScG%Pyn-m9cT;=BOWlD73z10
PAvp}3j10Np{E!C#d*-Yk

diff --git a/build/libs/firefighter.jar b/build/libs/firefighter.jar
index 499a4746df06417ae513e85862d43c1009313872..d8dab65624dde65d70f5b73fdf1561585519888a 100644
GIT binary patch
delta 4654
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
QHRJZl$_c7$>=7WH0Gy__ZvX%Q

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

diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index 1359edc24a31a1f301ffff7a8d63ae879abe849e..d99f127bc5bc43cb13f95f102d8b43cfa8c61d5e 100644
GIT binary patch
delta 126
zcmeBM&e*q{ae|G&D<wyvg&Zog*G!n$@#R(HjEO$|0y4QDw9G|rT`}7z=CmiWKX2me
zSb;t--2~C(le;Zgk9a1m+UPPlg3(Ig_$6aY$+!FNUiRwatTC<<*u04GRG`u}F3;^;
idONuEesk{RVrb1t%u8op&&0?m!oaYfgOO2<fdK$NQ!qmS

delta 103
zcmeBM&e*q{ae|G2(Y@oDohJ_-(+qJ~Sgd~R=|rD?fyVu<yIT%K#!By!-&T`%qI}}(
zSOG(=vwQh+VsuYtT87mu?b$v#g3(IA?oIPP!#xL$5-SzX{cB^sv3U{WsX+Gq9E^-=
K3=ETVf~5h!;w?Y`

diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index 7305525..9213bb9 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -45,6 +45,10 @@ public class Controller {
     // Ensure initial UI state is consistent
     updateGenerationLabel();
     pauseToggleButton.setSelected(true);
+    stopSimulation();
+    board.reset();
+    grid.repaint();
+    updateGenerationLabel();
   }
 
 
diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index 7a45e30..5fd8107 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -124,9 +124,10 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
 
         // Update firefighter positions
         FirefighterManager firefighterManager = new FirefighterManager(new SimpleFirefighterMovementStrategy());
-        List<Position> firefighterModified = firefighterManager.moveFireFighters(firePositions, neighbors);
+        List<Position> firefighterModified = firefighterManager.moveFireFighters(firePositions, neighbors, firefighterPositions);
         modifiedPositions.addAll(firefighterModified);
-        firefighterPositions = firefighterManager.getFirefighterPositions();
+        this.firefighterPositions.clear();
+        this.firefighterPositions = firefighterModified;
 
         // After firefighters move, extinguish fire in the neighborhood
         extinguishNearbyFire(modifiedPositions);
diff --git a/src/main/java/model/FirefighterManager.java b/src/main/java/model/FirefighterManager.java
index ec12a13..56c77b8 100644
--- a/src/main/java/model/FirefighterManager.java
+++ b/src/main/java/model/FirefighterManager.java
@@ -20,30 +20,24 @@ public class FirefighterManager {
         }
     }
 
-    public List<Position> moveFireFighters(Set<Position> firePositions, Map<Position, List<Position>> neighbors) {
+    public List<Position> moveFireFighters(Set<Position> firePositions, Map<Position, List<Position>> neighbors,List<Position> firefighterPositions) {
         List<Position> modifiedPositions = new ArrayList<>();
-        List<Position> newPositions = new ArrayList<>();
+
 
         for (Position firefighterPosition : firefighterPositions) {
             // Move firefighters towards the nearest fire
             Position newPosition = movementStrategy.moveToClosestFire(firefighterPosition, firePositions, neighbors);
+            System.out.println(newPosition);
+            System.out.println(firefighterPosition);
+
 
-            // Extinguish fire in the neighboring cells
-            List<Position> nearbyFires = neighbors.get(newPosition);
-            for (Position firePosition : nearbyFires) {
-                if (firePositions.contains(firePosition)) {
-                    firePositions.remove(firePosition);  // Extinguish the fire
-                    modifiedPositions.add(firePosition); // Track the modified fire position
-                }
-            }
 
             // Update the firefighter's new position
-            newPositions.add(newPosition);
-            modifiedPositions.add(firefighterPosition);  // Track the original firefighter position
+
             modifiedPositions.add(newPosition);  // Track the new firefighter position
         }
-
-        firefighterPositions = newPositions;  // Update the firefighter positions list with new positions
+        firefighterPositions.clear();
+        firefighterPositions = modifiedPositions;  // Update the firefighter positions list with new positions
         return modifiedPositions;
     }
 
diff --git a/src/main/java/model/SimpleFirefighterMovementStrategy.java b/src/main/java/model/SimpleFirefighterMovementStrategy.java
index a8f59ec..31278aa 100644
--- a/src/main/java/model/SimpleFirefighterMovementStrategy.java
+++ b/src/main/java/model/SimpleFirefighterMovementStrategy.java
@@ -8,6 +8,7 @@ public class SimpleFirefighterMovementStrategy implements FirefighterMovementStr
     @Override
     public Position moveToClosestFire(Position current, Set<Position> firePositions, Map<Position, List<Position>> neighbors) {
         Position closestFire = null;
+        Position newposition = current;
         int minDistance = Integer.MAX_VALUE;
 
         for (Position fire : firePositions) {
@@ -18,9 +19,20 @@ public class SimpleFirefighterMovementStrategy implements FirefighterMovementStr
             }
         }
 
-        return closestFire != null && !closestFire.equals(current) ? closestFire : current;
+        if (closestFire != null) {
+            if (current.getRow()!=closestFire.getRow()){
+                if (current.getRow()<closestFire.getRow()) { newposition = new Position(current.getRow()+1, current.getCol()); }
+                else {  newposition = new Position(current.getRow()-1, current.getCol()); }
+            }
+            else  {
+                if(current.getCol()<closestFire.getCol()) {  newposition = new Position(current.getRow(), current.getCol()+1);}
+                else {  newposition = new Position(current.getRow(), current.getCol()-1); }
+            }
+        }
+        return newposition;
     }
 
+
     private int calculateDistance(Position a, Position b) {
         // Use Manhattan distance
         return Math.abs(a.getRow() - b.getRow()) + Math.abs(a.getCol() - b.getCol());
-- 
GitLab