From 3888a3e708c8f0211df016ba9433b98051f56880 Mon Sep 17 00:00:00 2001
From: Lenovo <mohamed-ali.KALLEL@etu.univ-amu.fr>
Date: Thu, 30 Nov 2023 01:05:36 +0100
Subject: [PATCH] task 1

---
 .../8.4/executionHistory/executionHistory.bin | Bin 72972 -> 72972 bytes
 .../executionHistory/executionHistory.lock    | Bin 17 -> 17 bytes
 .gradle/8.4/fileHashes/fileHashes.bin         | Bin 25697 -> 25697 bytes
 .gradle/8.4/fileHashes/fileHashes.lock        | Bin 17 -> 17 bytes
 .../8.4/fileHashes/resourceHashesCache.bin    | Bin 25467 -> 26589 bytes
 .../buildOutputCleanup.lock                   | Bin 17 -> 17 bytes
 .gradle/file-system.probe                     | Bin 8 -> 8 bytes
 .../java/main/app/SimulatorApplication.class  | Bin 3975 -> 3740 bytes
 .../java/main/model/Element/FireFigther.class | Bin 1726 -> 1796 bytes
 .../model/Element/MotorisedFirefigther.class  | Bin 2140 -> 1973 bytes
 .../java/main/model/Element/Road.class        | Bin 1082 -> 1082 bytes
 .../java/main/model/FirefighterBoard.class    | Bin 4162 -> 4166 bytes
 build/classes/java/main/util/Tools.class      | Bin 4907 -> 4919 bytes
 .../view/fireFigtherView/putElementCount.fxml |  12 ++++++
 build/resources/main/view/menu.fxml           |  15 +++----
 .../compileJava/previous-compilation-data.bin | Bin 21894 -> 21890 bytes
 src/main/java/app/SimulatorApplication.java   |  20 ++++-----
 src/main/java/model/Element/Doctor.java       |  31 ++++++++++++++
 src/main/java/model/Element/FireFigther.java  |   8 ++--
 src/main/java/model/Element/Humain.java       |  35 ++++++++++++++++
 .../model/Element/MotorisedFirefigther.java   |   8 ++--
 src/main/java/model/Element/Virus.java        |  38 ++++++++++++++++++
 src/main/java/util/Tools.java                 |   9 +++--
 src/main/java/view/ViewElement.java           |  10 ++++-
 src/main/resources/view/Settings.fxml         |   2 +-
 .../view/fireFigtherView/putElementCount.fxml |  26 ++++++++++++
 src/main/resources/view/menu.fxml             |  15 +++----
 27 files changed, 190 insertions(+), 39 deletions(-)
 create mode 100644 src/main/java/model/Element/Doctor.java
 create mode 100644 src/main/java/model/Element/Humain.java
 create mode 100644 src/main/java/model/Element/Virus.java

diff --git a/.gradle/8.4/executionHistory/executionHistory.bin b/.gradle/8.4/executionHistory/executionHistory.bin
index 5eb4f675bf7ca3ca331b2ae2187ffa2524c84795..64e9d0d5e11faf525fab9eeae4ca9da2991455d2 100644
GIT binary patch
delta 1673
zcmeC##nQ8jWrMGW%7fW?`KIM1SxFVeWyyIZSyh=SdD&IDsitNXr3?@tyt&XLi;=gt
zJTosPzr0x2(8$zi@<UHeMvlph@g|cGgm8)#r55Lx7A2<^$CPEJmNPQ8f~Z@Q8zXJ_
zQKe!gulG`8d;yY?Mw3a)EJ}6DOfShuEef0N#LTF|xOnnGZ_&xI6L=ZlgEYwF(U6&1
z9y6J7qL|R+2Rf{34C^M9y!ms0b<?%CjH@Oe^wuQOfDaQzM3@C;Y5WKa$rDi3_s+EK
zN$5JoxN35tk0#?4kQ=Pf+>o1^SE`p*k(<LTuy@CrTdiCEcJ05@&~U7p`7UEWC=m4F
zDkd{NwwRm{#_EJ-L~wFuadCc8aX?~0YEe*ra&{Ov2xo(JW0kxCa)}<gF{vdbnR)5O
zP}i)v@Xr70z4a4IAAH)Hx7PCQ<PVcXm>7?ObV|W>3f$qD!^b6E>i2Kz4&H-I?kgti
z`6)3TpM3C)<@6tXjC_-4`)NpRNLTsnyovMK*{I#;_`b$gpTBYM)j`7_5{y$PGfotd
zVGuwM@(W-EM+6zCPW~`aq@DpIKrez7{9s{b5a>`gP5PlDX&`a;@P>@K>j{iq@bF^5
z2+>PmeOuTW`+|`@%OHU6*(+d$6WEy<1lDS_B>daWR=G4Uz2(1!PQ4v7gFsMX*26G2
zxjOE1+}HM<Xk=tzWME)_yV)qfz(ZAj$L#X_vZ~a|)Pnr1<b2cIs-&u{!mKRQQj?5K
zNPb|5nap^=b<=@^tdo1^Rc}6<K9iMEY;xirQ0#I|J{KY{AZyTec-M(jb+Kkky;QaP
zN+;Vbm7gpV+B8|Y&}s66Q0~b_%Ul`1PHv2J1o3!~Qhv;2>E*JMKP>ZL{Dxin-6pBY
z>z4a6eu7DJ!gWuc@KbVf?g~%F$1u6cY%6^yi<Y`h<_+(iti4KW^8AA6$(vVcPF5~V
z5_lhXB;};THxFK(;13HY{+~NJaJ9nZt%b>xudg<od?zAX=v1x!G_h-cxg&fSw0b9o
zn=r1JbVhk{!5Wsy4Ux|$&snQEc|z3d$=lZHGF}E-m=Mz~a7lVwM16|c?9<u*80|0a
z`nUOaObX*<<Bb}V+vA)BtX6i&a(3NV=hf)#c=fK2(c}#qH6|~3;?A9$n3>1Wl2}l{
zID7KNdMPOef%Efk%l?*rIB~0g*)p4pb8lS!d-K&n!#T2(6E~?#UjcKrF*7p=ELy&{
z?&|iso%dg*d%pT{nPc+eO(rbsZp?o=`SvCku8TM3KRswT(SmW#WXBWIlU+6ou{7PB
z|8#QHW@nZb5M$wHTb3&z)sHsou)J^i^>VV%7A4bv$F99PXt+&+agrONP|{1zNh~gA
z5U_1gc^jVdb?ytD-A2E)CJ8nk2Ptmho1D2tjcY#G!kbKtvnMC~1^MIpor5QJ)4Cq*
zo}>`z;N&p11+022|Kzh<lvoynobY*z63bE$LvpK{^zxe^2cP0#W)Qd&cvIvs&-(-S
zG*|1eSI?O-Iclqv_KpmVui38Izdp^C*n2+Q@ZjH;UoQ_D9#ddu5SZ^>E&Rz=WADF~
zkXfsk^qx+hzg5F&3D`Z~xfpvw^7C_wVSZ3)YKqH?%=sO*_{>^U=9|;sfQ{L%#>^mK
zde>v+tfQSvx9v+e6kT@b{p1T%^;tH9+-I{*iRCgVtdh2AvaAL%`nO35Tog4stscUg
zG3j7seDuZ2O`990?O>EYv893|e2>cA3sL;@$~;#)yavZu(`s;DlRrB7VypIM?;QtI
E06b6eaR2}S

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

diff --git a/.gradle/8.4/executionHistory/executionHistory.lock b/.gradle/8.4/executionHistory/executionHistory.lock
index ff8ef3d1b49198e32467621eef0dcaa8ee28a970..99a195149b28702e58c93e37c0092822ea24d263 100644
GIT binary patch
literal 17
VcmZQRdS=>M&c7c%GJpZ&CIClW266xZ

literal 17
VcmZQRdS=>M&c7c%GJpYN002h&1`q%M

diff --git a/.gradle/8.4/fileHashes/fileHashes.bin b/.gradle/8.4/fileHashes/fileHashes.bin
index 7ce511ef6e03a44b01690b486336c4cd64c16b90..3355ee12daf45d237e3974561b8cf6e998a36846 100644
GIT binary patch
delta 987
zcmaEOg7M)A#tr@+3Y|~28{cqPolB}^W}dq5bsYl(V~=cD?NSCX;C#M0-@}eEC~j9w
zlFKATk;Ol**;;>`<pfeCv#d27tcZcpiGhJZ&zOOML6d=jK@o%nV&zRZbi{qu@+viM
z6FKCP1=g`zsT`t%HE8mGPZtHV;3erFuek0@e0TMmZc4NjSkbc92#6vk{>jN+E(%Wb
z8TYjsR4%IhDRpb{ZPit%in#bEANMMgFK2z<DSP?WkDKgo-~1Hwm;zEHYgb(eF^O+-
zjQ2`~d<7fRohx@HANQJQS(6bM4p!sc-~v&@!ZBIZ$3@}%{M)j>r5{e*>R-0Z=HlEN
zU`1hdmm!My=1lJNQDcz}tGhCpKVE9`S)U3PndNUnCVTqovB=sr<xkE{keWQzSA<12
zbaCC}wZ2jcwk;}e!*jmQeWA14=(pA+L9l_LiyI*Zva?Kn?yCkeLw>TLpOnJ&I|ond
zrgc5qJxL+b!O3ANRCNnf_14MWeqhy$Cl|--fwV21yxdREOlJ9;<q#z-UYK#QBSYhB
zwrlpUPje;qo)0%X2sYHNsdh5AKiCYF$s1#(6jYj;;_@PMeuphSv(}XP=5(m49EiEX
z=96s`!B%gcybz)-c=Ba`Jv*7@Z?qvw*h(?2KCz{OBYcm_-3w9t^U6F|JAe%ht9uR6
z5!y6aG1O)9^8n$^(*hV-gJx;`2n)#*P}TR&wCzdgIt5l8z8aLO7#J9sDlpC8yJO9*
z)-8X#_TOn}I9APk7p%i$iWS6s<}H&ILseOOWW(3^Pd*zUHCZ=Ighe)dO~B;ZP$?X?
ztqFwaCEB*|H9-&^%v&aJ40{KP6urr-<D@3<4R-@^0w=RafP=YdvSma9NTg-*+z6?l
tH5cCbU%j_}V(EiVTl3ahz6Cqovuq~RunCx+#i}EGO$bcKX3oe6ZU6wAIST*)

delta 930
zcmaEOg7M)A#tr@+3RAxpJv5Wc;k5d@a?jOjV`&Bk#vbug=dBsQfb;(5d=ERupok}Y
zMT{;_YPY#GmHqvx-p0Vd*!`pMmpoVz1EUoK1B0G10|SF50|SF12n!tZN_Zg?p1bpW
zp!<_M^Glb3%oVczV+YZ}+B5mTr;EZFfe-4t+uhQVl~VrbNo8b1ja7jtViKI3?B$}c
zX}ZCYrdVeFNuhuK9^=1$4P+AgoUjuRMO?g-k9(EL7jwza_dRW~`+-lq&YwD^e;`GI
zD%{JViYCW+uT=OG`RBw^%?Wa6W3sipwlDApsS&@z`w*grt$MPmkIUqvaUv|@S41r*
z-;L8_5kGa|?qvRWsmW)3Dp&;7;_@eZ`s#rg6DH>-NKKyV3s&njd9AOMLiUk5jo-W2
zV$Ay)q@|;z-a$+k4T6}?adh%?Up0`{pvi)MQVNILXHSdGu-vx)S<sbN`puPK)n~<(
zp{iphd;6)G397}dh6u2DVTQ1K@`JS@uh#!jIJqd)&F0BAkP(7vacd_p_tOJuU5{Jq
z(^D66eSS-otv&pKUHe0722^Y7WNv>w7D4WxJ(D-aN+}pVUZ=!%!^_vCx8_yj9pMik
zRpMvG_CU<#yExf45$vPAlNUm?eVu&SU(ZfZEiMeAgsl|Q)uq3A8pR8D$kZpceY$rk
z_$b)WE21Ek3=9lm4wDr_T_!&d5Z*j3fRS}_b&?2+_#EB-$?;KA3Vl+pmlRKV`^0|T
z$H{i`KRAwg*&Cq#WSlZtF;tbcM|_Uy*2!lBq$cZzf%KZ5n_L?z1vSX@JWhke=a}As
zxSDaw<c(qPK*6wc^6EIL$$P`yK=GC^nLPp&IKRXvTSg?Xh|e);o;)`~Dk$~cPjj{!
oSK<AR-~P&cn|~GTq5e4z5W|?~U<LtJ9dk_Y!E|iqjEvw00Enw2E&u=k

diff --git a/.gradle/8.4/fileHashes/fileHashes.lock b/.gradle/8.4/fileHashes/fileHashes.lock
index a3ef8ba94fb1c5fa03f359ed7a854fa05c0b4176..9c9daee5f0c86f5436dbe194bdf0e3f414568967 100644
GIT binary patch
literal 17
VcmZSfc@Qj^S+l;00SwrW0{|`v1b6@d

literal 17
UcmZSfc@Qj^S+l;00Swp_0WDwy(EtDd

diff --git a/.gradle/8.4/fileHashes/resourceHashesCache.bin b/.gradle/8.4/fileHashes/resourceHashesCache.bin
index 57064a4f1c4975a19f5c8d35e3156b80c6a05737..e1b12e26c357a0f634638d4d54082f19443ac41f 100644
GIT binary patch
delta 1685
zcmex;jPdSy#tkMCjPEv^N@Oq!Olw|prR?!$1qLuk$(%e@GL!#6_g~|Uv;TvI7}DNP
z{wit7zpCkL--A2mP%-7ns!|F9^KNz@WV;w<1`$m8IN4UpLSW%Lmw=~7{Tm>H$<>>4
zr5qSFR_1b>UD~koB1AM@@IMr+yw-5FrBoygBAz;X^HOOIMvbi=3)|E;%$g4sHH9kv
zzm3i681o*UM5y@v$wy@#2ppan<k_tA>l#Eby?pXq*$jcR!gn9tpK<6rRB-p?zp|G6
zf^jY<fAO?H#8TWh>&hKq68PlIws_-o$Cpr1=E+YLerPbo3U7T>>H~E^@?4k$Sagpm
zB^XVtfhbN7oqSc%LV$I1E=%RByfTPj+Um)yN*MxNiSm;=e`f|k1e5nqPE`sJ;5`#&
z6?5p|Mu=c)<>a+W3IhCgmv*^bp9ytp8sp}pN`cJ$oJX75BaCK4RHhqG=2Z*OaM~*n
z?dn=}8zPu?7UnAF00I8F{&%6SO5Hm-RINe7+i%WMsl>2oh~ngjFvZ>%HMOFyeE0+r
zPjj7oR?U*XFifQ2?ow!+rFBmJtJWY8c>7Ys=R^BCAPQ4dCzq<v5Qtd)Pn7q;9X*I(
z`pn6!8Z!hEORThi<|jUc2&RTlo~ofBko0^(rQ@{yP?c%vlh<lw^6$A=G_B*@dx*l6
z?#aBGnfwYLUj6<5As8yQc5|+#BP0I>%UegDy<G|sOckEIR4YTE_JGT_&F4=$Lj+UK
zPiECFViHT-sQ5#Cqrncw&5j;c(sITO3=EPC3=D!GED(GtR>Gis`o%>{U%Wi}%~Wf$
zYm&)i#$=_*vy+r3Ur1D(oSrOFkE$i-!7hO_P0N;Ai)=NX$Xy%3z`%fJ==-=MDJLDi
zdGPWCe^@y2|6EKJr)uq|iCz249pS^E)jKiV1XD#)vd4vUTTX2V-7sC<Hd*IO0j83>
zr{*U9TeH64!NHZkbLyksOg`u%TtAalJhgg4$4^1ycgtIJ_F(GTzxP|au)?~@D~#vG
z{JU+t7E{I5mm&ArXZO54WHkHer}W<kF;yh>oiCqma=&nb^SY_hQmI!ED(YbYJ0<n%
ztVgwz#nyd07xH*(SR6tLOoc+};d+rfKRz^xZ2R!TV~Gr=ipG^&?!Fe^*-=^<c}2oZ
zb3LYty7hBxPH(%%5-|C$Pl?as6AY7?l7#9{e{`wUy>p@GP-Ii=(To^OZTEQgw7<A{
zX9~m7WM+?hS2ts-$gqz7d+??9UWv)6EnAYi4r8ilx6Rt78WHj1aclM5h%c{^q7WVi
z+dKY$U2XD6da1yr3?Bu@C`?0c>{(r9_UNC0*7~Wl-c6R*#8knzw(D@a&J7zazF0TT
zn;G1gD*hPG_$0;3cSyi&N6V$`DLWbJF%slf1Mg$2a&K8O?uptK==@|crXjbpgVw(}
zbAP*I<((5}j+#_ps(8}GKBdXn?`ky<?~+e)8lVaRE!kg^-WE}xVm3SAboM_+`-{8&
tVH)!6o6I)<+?nU}9cMihOKW<7sY2GE?eMM>r|M$OmU^jb_mzTF000#q5QYE%

delta 149
zcmcb6p7HlF#tkMCjAu8SN@Orj-YS_mSx?Gfa+#F)<fT#uo8L-VFm4W&QDB_BRQAT?
zsd5REdF2f^hskeenyjkyVX~{T!Q@`$gvqQb9+Oj5BsNb~@noL-P2GKRu13XVQBA|i
zahm0m-)c^nJXLGLWLs^C$+_Bzlb>lPY>v~hV4S>8H-56JUKW$E=SIaJ;u{Svuxxhp
Hu#yG<eA+jV

diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 85650c1e71663e0e9ab1ad5fce91edd5e89d7891..d6ffe09f0317f288e61b0c65d30d0b1374650a8c 100644
GIT binary patch
literal 17
UcmZS1@3FQNugcrY00zwU04Glau>b%7

literal 17
UcmZS1@3FQNugcrY00vCE04In8>i_@%

diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
index b45dd6f87ac93474a3344a334ee26a378d6cbc42..177b638e36f899ff65fdfbdf0fb2b363a7f6029f 100644
GIT binary patch
literal 8
PcmZQzVC<1u{)`_02MPj4

literal 8
PcmZQzVC)f}_Cpu|2I~Sw

diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class
index 79653026e5c8543cdf4454eae8200ea087bac7ff..e22893fb61ab612c2f32bf3e28cfd940545fa96f 100644
GIT binary patch
delta 1100
zcmZpdpCik4>ff$?3=9ko3<oxHd9d&ol$N;Wq~@mPl{n{@=9NrNWO>WX&QLu0BC9w@
z5kn~t11m$><PWU!Y!y5Vl?+vrMcFjPYj_xH8Q2&ZSc)_9%efdh80vW#8W<WUhq9?~
zHZ!!aGqmzBv~6x;%VA`kGx<Gx#N<wn=X~q97}hgvU}xCK!?1~A^X58E7Dl_Rj11x$
zK3R!niD?!3sb#5oCHk%)(poc&pN(NV7Xt^w4jzVO49f)=mNPQ&c;@A$7CGl678j=$
zvoq|Oe1J=fWgjDh+~oJ1;*%Y?*d}vxi|4j8bTBY7bTTk7Ffqh1NHKIF@p&1f7`hpH
z;PSl;QVe}){C*_<1O_RFi70#~1~Ue821bTSVDl$W?&p@ao5H}rpwGa_z{tSBz^b*K
zfpH^Paw-D@0~=USfMFT~0|O73&B`#HVFp-UjX|A(kzvZ@7u?paAhl8qYzzzxaty2t
z@(g?o3Jg*ViVR8&N(`C|%3%Fs3``6R3|dhAAQm^+Oh$&84C)L_3{xg&@F+7*o!rAC
zZ4I&yqFxBDUWfsreij1*0}BHq!)yj71}(4)K^}O;zzlZZg2|6~wCh=RFj((oaAal(
z*V@8hvYWvxayx?$Gn$}p<aP#sbishg?F>NzDQHTABeyezqALxH+|Cez5JZHU+T?Ct
zY2#7`6NWAZQ-=8rW?=tA!fyf8KTHg|3~V4@GcYjZGcYkQGcYhHPQJ;jP>(Q2jDeMb
zfx(J_gTb0XfWd}Al);ukfx!`MngT=z)HDtTNrt%$^B5Qz1Q-Mv<})l{U}8WHCj)pm
z#V{~~<3VOOLs6vG7KXg-3?)8VTNv22w=tB1==yC8)d(jDF|aT&Ft{-AFt{>^Ft{;D
zGq{7TheVDH)OsEU0fvPPix?OgI2jf*G=h=^0|SFGJWcIjs6!aZ1-9RdfrY^vY!oD1
zSQ(ZuEM;I2;7SAK7pMt(3=H5%W!b^dgfIY-C>4-2voNe+SjoV^z|61;oHSQ6tbr!j
ewG7M*TNt)6>}1%*z`(%8z{s$hVK2je21x)<M8!-1

delta 1272
zcmbOu+b+*_>ff$?3=9ko45v48d9d)OWfrBnWu}*8q!u~l7o|*2WO-Z9#SqC*%)?N^
zkj==zo1R+YoS#=xl%JE6TExy!#>ilh4Cm`3Y1c<6b3-+hi=mXEf`_4!p^A}#D>E;%
zBr`E5vnrL5K}^Hb)6>%@E3qt5zqBMXN8dNGz*>_fjGduoav-ZXM>Rto4+ASh{p12x
zdA3F#h9-vQ$x~T1#anq8+8Edv8CZ%l^2@mxI2by37&;lcCSPS$;p}1PWoPK)Vd&q?
z#FoRzxO8$pdxSj~!pV#bMm`80aUPg_g#8uYPA-OB47=GG_V6(5W!SfQ4+je)<AKQs
zIb{_Nft+xdhhZbbCIN;`j0`-Ud3mWt&N+$2#i_;Y496$`<J4j~$;co#nUPCwvKN<F
z{RD=I42%qu7#J9s7-ATt7$zg}c^RY_rZ7x}%THsFVwjG`pMk`m$solr3x&_bV8&q1
zz{oHgZ2lYuCI)T>9x%Irp^$-rfn)N0E>63-3=9nV42%qn3=9mcTH6^IH-eSSV_;xl
z0}Bc;%x7R=-~qE)85S@s1k0;2s53A!%$=;pZS4wDE5*RZz`!8Kz{()cz{jA#AjP1_
zpv0iWpvj;N)-T4u#K6Fy1=SB?fgA&}b`gU*0~5pC$;-Hv8Rtzt#Vu_OvJawO2(DfT
z?080o#S9D#EDVecOBk3Kw7@O|dEg}jGuVCeCoAx1i?Qusu-?hw$jlI~wS~cCH-lH?
zb_O5T$%#B7+UQaNk=q%9SkTl5M{Z{bWuLr|M?{bVE(Hyi$;Wu)jY}9z7&;kD8RjvV
zfjtKaocU14GBM~fuz|e9z`!t*fsKKMfq}ttvIMU}z4kVSq5}-2e!2p30&)T(0wN&y
zZDS~hnhg#>b_NCpD+Ue*YX$)Z8wODZTLuLNI|dB~dj<;zN3d;L5EG%caWEJ%EMr*C
zz{nuLpvka;VI>0-g9d{j!zzZ=49qCOWncmiuNVeqaD2$@W~h$T+QN{xouSr8YYPLr
z_BMtF5WS6|1?s5D2YJQo5iueIwU&oLfME^8S_Vc2PKI?1U7)nUz`$S(Pe?l$+Mxz8
zFfed|E%RbvVekg~01{rT4C@&-Ffa&kfpQGg06hi<a741~VCY8ZcZH-x1tiTZ44WCY
qFfcGMGi(K?$88MTp{aBS12e;ZhJy@87><IiW@I?VaDw3!gCqcTgaHl!

diff --git a/build/classes/java/main/model/Element/FireFigther.class b/build/classes/java/main/model/Element/FireFigther.class
index 91897b041924b12c33ec8ea1e57d0214c7a83d80..66895a0bc95edde0012dde9ed1fffdfd601e0067 100644
GIT binary patch
delta 703
zcmdnT+rr0n>ff$?3=9ko4E__j4%M?Wh%hoJ<>sfP=IFcTq~@mPmFWBCm*f{^7N@4T
zWfrBTWu}*8q!w{82s1EqGl(-turo;VFi0^-GcxdHC6*=XmzHGa==)?AmoPFg<)<++
zm}&Tc#d8w#()In5vQm>vtT9D2AwrXR82Q*_c^Kpv<R>dImN6<$p3W%8tH8j_#lXR!
z!o#4-pf>psV~BzV4}&Iy8Y2T&VoD0snVbyT3_9!#x;zYe4EmGJm@F6#H|H}oFx4wC
zFflMP7%(s}urM$(urjbQFftf1FfiydFfuSQFfg!cZD(NI$iTqB#9++80G4K8;ASvk
zU|`^ZC}1#UFk@g~U}P|7uwY;UYktkZ!NAVIz!0LXBg!Jmx`Tmz7K4|zjwq`r%WekV
z$n6aLyBP!`w=)Rsu4fRA+|D4ngF$QugNzlMw$5$_g~;s;N;?>oCD{-hbxAguN#P*J
zuz(#S#lXhEz`)1A!@$p=&mh2H%^=9&!63vC%peMOpa%mxgFb@_gC&C%SY-&*sSFGu
z4Au-*Am`UJgfQ4J*fKDIT+3j`V9&q|W;rm}Gq8YJjtuq;tPD<Y|AN#zGcYl@fC7hs
z@i#*-gDW_A+!z=c+!;Ke;im@;KbB1lS{uOfh~Sd~yAB+Dkqj(QM=>&ZGI&8XTQV?$
jUBs$=kU?P$nr?ZpZZU`gsAdKRRt9edAF!RiVD)|gM&@Vr

delta 608
zcmZqS+sDgw>ff$?3=9ko3_cUN4yki9h%kt<Gl=mph%-nqGVo<3mL=+!mSpDW`(zfE
zFfuUZr!g|9XiPR@RA-aoVUT8!nH<kp#wa)W8lxPqECVwa0|$d54}%he@?=J)5Cv5p
z1~mp{Mh33LloZ#T)ZEm(5>5sU22FMbEglAK2A#>JOcsoKo7XWlFxAU4FflMP=rS-c
zurM$(urjbQFf!;fFfiydFfuSQFfg!cZD(NI$iTqB#9+X{0G4K8;ASvnU|`^ZC}1#R
zFlJz2U}P|1FlAr@YktDO&cM#Vz~HN`Bg!Jmx`Tmz7K5|4jwq`r%WekV$n6aLyBP!`
zw=)RssAmw~!60eHrmeG^K{j$bgZvH#1xYppM@5niW<)s16)a#^NHMT6Ffa%(@GuB6
zXfOydm@o)4I5LPZ_%MirUFN~S&Y;1d!eGW=4p!+4bt40VFM|bxIoRF443-R54E0PP
zXEInb*f21IS+)!|3@l)l9fJ)6D}z1UqaY0q3``7;pip68{LSFQ-~<jAX9h+F7Y0{o
z!0AB)j%5>r`UbE(BHU!au7iXd3)oFTpn!8@aEEHPWME_fxrkN!AcO20G~J3|-C__0
TVBHL0r+6@Ug6;GItM>)~Nc%^y

diff --git a/build/classes/java/main/model/Element/MotorisedFirefigther.class b/build/classes/java/main/model/Element/MotorisedFirefigther.class
index e918e428d01acbfa257155770637ad9a2c98b2df..693a8899177c34589a4726a21e97593178078ef9 100644
GIT binary patch
delta 1008
zcmca3u$7<d)W2Q(7#J8F7=kBqd5a09R+MDsrI%(FXXK@3re`GO7cnv@PkzX(Sg#qy
z&cMgWAe5V*lA5FMnv<HFnpdLlmRXd_#lXwJ%+4Ul$RLI)>6>4gSCW{S$HgE3QXs;}
zAc?8~q}wesy(A;Gh>Jm(fti~@oI!$}L6V0-ib0x@fiEkuEK$F-Br`|fM=rCtgpq+M
zKaG*WOv48(k&~F0uJ50em6}{)J-M4vQX8T&v$({Xi-ChdmWM%(L7tI85atu-oc!X{
z;*yYjMuu3BmnIjo$|ysOLg>`=0kZ@0i!)0y^Yg6P85AcgFsbt@FffA*RpDV!Wl)>E
zj44DxgNH$rL5-1tD={Sn8XTMq+6+4E47xlFdJOuLrI;NV4JXGiuhwHp%PdM|WDxPe
z^u9GC1Aks>In2J`lGK99f-EB9LP&xk<@q3SMh21G$%f3LlT}$fH?LulWt^PIC^q>x
zt9!iy0}}%yg8>5r0}BHq11kd?10#bG0|SFT10w??0|NuA)^-NQjSLJ7Obo^h3}9&n
z1|9|z1`r8Wz+lQ?#=yY9$Y9Q3!N3I4%xKQQ!NA49z)+^GBg!Jmx`Tmz7DLW%2Hwc+
z4E$DX+B%}FqAZeZyBP!`>$fuq?Pd^;+|D4ngF$QugNzlsBs-EkhBU`+28GD&3`$m<
z+B%Y)I~bHDIl#2KBnQl{aFBCZz|K`;;ACK65Mbb85M&T#5MnT95M~Hs5MhXB5M@YW
z5M#)yXAoy7Wsm~<CyjxNL6jkZ!IHs>fsMhK!HL0|!G?jIA&5bl!Ir^>frBBML5jhS
z!3=C@8Pwkl3}p=V3^w4vDr0b9aAaTt`JBOt!I^;>%yMCHW?%ucTp64hSQ*^lVOPdb
z@4(>Bz{KDI3TXz$-wdS;p5U<dVqj$OX7GVVh8{FBST-?eZ2-$7;zADWb{??(EKoNw
uGWat1LG@ZPFoIpgs(p|_VGWvQB{i^aF^CGNZUzQc27iVCu$_Tm4M6}?bhn)V

delta 1249
zcmdnWe@B4p)W2Q(7#J8F7&0budDnC1rDmpQB;^+sGcqV^_>`7p=I96H7iX4a=I2>^
zdTRP)C6*=XgN1!Ei%YDz8Tc6Z*%<_Q7z7!F7#a9br5PDGGD}j65=-)n7#YMgkac@P
z#jUv+L>NTb8N_%P#2F;&85x8SM!?iCGO%YP7W<`ElrS<dYiLG+v`FzVNHfSVGO*-<
zg+*Y7=OpH(>-#5Vr6!kHvopvsGVp>O3-bdvg93vhJA)DrgEE5(BLgqOGT+1kMur6L
z<ovvn#LT>6@6<|022l-&e~}FZS+BsL#>1e_puxz%oSs_3$e@Nz9i~=x2Caz`#f>x>
zm_fm&%fp}tasvm<N-hQt1_K@jLk1&82CmeKlFYpH(#+xvMh3;n3s~gXtTn^f8B8Xh
zWmH!&W?%*>Hs@imV6bFl5QIgVb54G7YH>+OJ|lx6NRKQy%1{Ep8l=&hhrx!yb}}PV
zh=M&2g9C#tBLi1rN{VYvYHn&?2`7USgEKpW3lD=UgWKd%CPx+zMh2<L{fttRuQ2s-
zaTY++gW==}%p#L7FnijF<mQ*;7iAWwrnqGmrKV-3mt>?CF*5MyrIy12KDZ>cfRRB6
zNhG8^A0)V0oJF2-vLCB!y)gq510#bw0|NsK10w?~0~-S)gC_$6gFXWz10w?i1FP0{
z2F8sH3=B*RUJMLiX$A%!25$xs30A=1!{E!nz`)4h$KcPv1k%iy%)r9H$-uzSsV&MX
z%CdujeJ2AiBZC#2B->5~VMd0T47MPaBqPItdIni5b{$Ffoec6!3^N&&!Aw;qh64<I
zyBRbiw=-z(WY7W0aBA!9V9?*V{Qv&l491b$8BDF%v~?h+n_00-vcuUNk{lqF+B%YK
zI~c4aIl#0X$OkN7ADA)lGB7akGpI5MFc>h@3o>{y2r>9G2r~pQNH7F5NHWAQNHL@{
zNHY{O$S_ng$TBoA$T4&<D1p74#=ym(%Am~<z!1p54)P$>^9&4~3_%Qm;1KI%2xbUj
zU;@jAGK4WOgIVDWVGJx_Rs=&B11m!egDyiPgKs?p8$&vS5<?W&z+wh5hG>RB1`dW8
zc=&>hi)CP9h+|-2;A3F^1Iqa#zZo2UF)%U2gX1NEfsrARAqg6BdeDet*~H+u0W6P*
zH#M*)c)-qN0Xsbi6miK6Dp1Xq42)oxvuYn?FkXYETMMjP459$6n*o$S7*ZHg!FHyB
H)u#gh2b%Y8

diff --git a/build/classes/java/main/model/Element/Road.class b/build/classes/java/main/model/Element/Road.class
index 33a01f995fe95c4ff878c3c625522f6775060059..874bcec0add02a025d8623dcbf05d624889553b1 100644
GIT binary patch
delta 19
bcmdnRv5RBFHD*Sk$=8`}7{w-wu&4n5M0*9Y

delta 19
bcmdnRv5RBFHD*TP$=8`}7{w=xu&4n5M2iKq

diff --git a/build/classes/java/main/model/FirefighterBoard.class b/build/classes/java/main/model/FirefighterBoard.class
index 22c5e7237e4ea669a27d68a9ab99bb1dd1ffa5f4..0221dd6af6afbf4b7fdb9a91c10ec2f82c2bf860 100644
GIT binary patch
delta 39
vcmX@4a7<yt0v0J%pG1X%{Nl`#%=|os;)27?hgK$Mrez*(KD2ooOAj{yL2D5C

delta 35
rcmX@6a7bap0v0hvpG1X%{Nl`#%=|os;)25~lQYvY4{zSZ(!&h^`j8H5

diff --git a/build/classes/java/main/util/Tools.class b/build/classes/java/main/util/Tools.class
index 1de0cd6f22cd53fd80cf5f92f4c297bbe182171f..dfd4de5c64c025ce375e86a3597ca38b28692826 100644
GIT binary patch
delta 282
zcmZ3jwq1?u)W2Q(7#J8F7&dO?>S1Q&-#n8!h+RxDGq)hIxHvH>C)G74H8(Y{gpna$
zWAb@+z0K0x2N@ZoC*S2cEIy0DUR#oT2Sdb8h8Sjs0}SGltUDOuXHMSETP&){aF0QY
z;RS;>!!HJXhQAC3j0_BhlkNHTGg~sSPiEvdVE)YzJK2igj@6ujhrwcUE&l{jYX%Mm
z8wMc;TLxtYdj@R=2L=-c$H|`sQYW_ygo`>ea4@(q2r;-aC^NV-Xft>)m@s%w{w(lN
z)|-Ku!G}SO!I#01!H>b4!Ji?JA%G!-A&eoMA$;;j!Nc;=3{niS3@Qw93~CGs44Mpy
j40Q|)3<?a)3{ng{3~MJ}7V_m@$H2(2o`HdZiD3f(a7aTt

delta 263
zcmdn4wpxwr)W2Q(7#J8F7&dI=>S1OU%*@?9ojHho^IxuyjEsqs-}4+6pUEJpEy=xu
zAz~*(3^T(4260K&9SrfaCZFUj7S&+5$DqmZf<cSn7lR(dUj}_f1_p!4fqeU!?HM>G
z3-cRr{$Vg@XW;(DpgP%&-;ULcfrr6-awq=;Q7Z-x25SZ(1{(%t20I3A273k*28YT2
z1yUzZ76=!0V&GtKW)Na<VNhmpW6)-BXE0&#nEYShp{y4JGlMsS8iNmmA%ic2H-jHT
zAcH?c2tz1CI78Uvzk-M5qZp(ZVi;5yVj0vJ;u$m<5*X?j7#I{7m>HxPco-5V-xu=b
QUdzD9u#SO&fr()~02@j@7XSbN

diff --git a/build/resources/main/view/fireFigtherView/putElementCount.fxml b/build/resources/main/view/fireFigtherView/putElementCount.fxml
index e69de29..cfcfede 100644
--- a/build/resources/main/view/fireFigtherView/putElementCount.fxml
+++ b/build/resources/main/view/fireFigtherView/putElementCount.fxml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+
+<AnchorPane fx:id="Fire" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1">
+   <children>
+      <Spinner fx:id="fire" editable="true" layoutX="111.0" layoutY="67.0" prefHeight="25.0" prefWidth="363.0" />
+      <Label layoutX="111.0" layoutY="50.0" text="Fire" />
+      <Label layoutX="111.0" layoutY="103.0" text="Fire Fighter" />
+   </children>
+</AnchorPane>
diff --git a/build/resources/main/view/menu.fxml b/build/resources/main/view/menu.fxml
index ca96e53..40c5746 100644
--- a/build/resources/main/view/menu.fxml
+++ b/build/resources/main/view/menu.fxml
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<?import java.lang.*?>
-<?import java.util.*?>
-<?import javafx.scene.*?>
 <?import javafx.scene.control.*?>
 <?import javafx.scene.layout.*?>
 
-<AnchorPane xmlns="http://javafx.com/javafx"
-            xmlns:fx="http://javafx.com/fxml"
-            fx:controller="controller.controllerMenu"
-            prefHeight="400.0" prefWidth="600.0">
 
+<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="controller.controllerMenu">
+   <children>
+      <Button layoutX="36.0" layoutY="119.0" mnemonicParsing="false" prefHeight="106.0" prefWidth="259.0" text="firefiter" />
+      <Button layoutX="321.0" layoutY="119.0" mnemonicParsing="false" prefHeight="106.0" prefWidth="259.0" text="virus" />
+      <Button layoutX="193.0" layoutY="279.0" mnemonicParsing="false" prefHeight="56.0" prefWidth="231.0" text="play" />
+      <Button layoutX="541.0" layoutY="14.0" mnemonicParsing="false" prefHeight="41.0" prefWidth="45.0" text="setting" />
+      <Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="96.0" text="exit" />
+   </children>
 </AnchorPane>
diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index e94987322f238ea26ffd172b792eaef236f766ed..0ea7282b4ee84c8f1c55f66a62091819551832de 100644
GIT binary patch
delta 700
zcmZo$&DgY>aYCxVjtq^j*{<2YKFyWbdp_Lo;KWiLf$Mh;p43h2dbE3zLZpL}!_<iz
z^L164n&R>zbAE>{KC{-8`Q~&5Hz`Gi_RRE>jMO3l+ZL6#;W=ODzR=li^jm9^;ACIM
zxn}NWA?5)Z77SgfMa7xLC8>EOmJDtA>FGJCRt&90`K1K{Lf159Z-#vjK5J+k^?Y0Y
zA?pBHo5^n(r6yZ3trk2#|F-OJ>4y`y`j;)Uxj6TR?&NPwE9xE7^wRYLGZ=aj3kq^F
zlM_oa^YfT}7#SG788Usce6u5R+;a8u^aAr4TGJ|WbC^MZkx`FPg`vQ`FvQQ&ijh%;
z(UhSmxLB`5FR+xMt+*sHJ(anPp%p}f&9P==RN-ad<dKk)QBX2+c5(M)a0clzVsK%c
zEX$J3Xgax*C6V2ffngG(Pv+$BEKMxTQr-%aYgpsznR%qV85mYE2BfWKWa!9AEJ@2R
z%4KBqW?)#u=n}n_k)fls2<&D?MimBzb&Rg-867J(Ffz0ygFI3L7Tw6`yophzlaYA>
zBO{|J1H)!Ur@|0MCKXc#22-$tLI`IIqt8}G{~pF|j0{~##i>PQiAfwesr`%~*~tlP
z4ve{*7qZzfGv;r;$7#sSxM8yZZwCuw-sYKtE0`HKZgvu##K@RB`Ks70Mw`tW#AVqT
zGdG`;`^3zcw)vpaDiD>UwvU@Jb+finB|GDq%}Xr<7#Y(xf3xCXVqCZRzl{-yGO}-F
zWL&p-hl4jGW8P*KCkIBxjgwuSRT)z!XFG>7rcOTS{D^Vg<|Qr<m>E+yw|Y1+GH%>_
z!gCG_<C@8-eqM~Jn>YA<U}9V|d12rQ#?;AKL2nq>Z4M9iW#q7#!NtJ9z-T>rO~@23
O3ri~q*L1R1s0{$Br{s75

delta 680
zcmZo#&Dge@aYCxV-Y?BpnSxJ*eEmLsQh3Gl;EAO=0y|Xy$hBl1y!Z53%5i1)O?xJ8
z%-6N<Gt4|XC*b6&hB->ynT;zI+@us4+B4HjGE$2Kn$Pgv>?pqe^3U@B2DT*=!YBJO
z&SegeHJhx!BxP*wZV_S`pkc+(m0DDsSzMBuS7Oc3mY<%UlWN1zT9jW}ARu&2Q}$-q
z_u#XJ#!=6=<sX`C#k5+m{=$xJh132#&2un3bhOvgLvQjorWN%*X};+Z8E%<+S$cul
z46SJuxjD=rz{se_sKSurn5&nk7nsk`lUPuYlbM`Yl9`{!?8C^w=*>{zUKrwMZNtc@
z!f4J=6kM!Vq8C`o&{kZMn4Zd9#?T6)!3s?o8C7^0IC&(bWE7N)oL$^K8Jt17j2K)P
zC(E*AGn!BCWJ%;TXJAlaWb|fWn8fIlI{70@6El;P_vCWcxJ)J~Zw7`{i~+f;85ufq
z5=+wZi*ms#*DyM-WmM^8WS+pt$Y{>Mu#V9sdOagUM`;n*p^S_w3=A6>T{kj1R&HWs
zXiEmUz6LD1nbD~*gpo<boPog{EKmsIOtxo}VKko{!{)%4xp^*|4Kri*=3AVG%#52h
z^YC`CFlKF@D!77~am{8s(MgPqIg>An-C{J`yhdD>oiTOuDY;L~jJcclDy;%h8EX5u
z8FMzP8&$G1uG_rOGJugWck?GJ4kpG8n}6FFfhaxuRz}7Ro3}W4Gcsmva&ll~Tr=6x
zS(Pzoa=LRUW6tEg&W{*3Y+m5<fSEC8bEAh7BjcLQM?B}SFs_@N=;y_lvw4l*2PVdK
vljjDWV9c4E7W9U3!{*>%Uq%kI8C(nu42-6eSA<OAva+^;aLp&Xh1viBMH=3k

diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java
index a51c386..85238c0 100644
--- a/src/main/java/app/SimulatorApplication.java
+++ b/src/main/java/app/SimulatorApplication.java
@@ -14,7 +14,7 @@ import java.net.URL;
 import java.util.Map;
 
 public class SimulatorApplication extends javafx.application.Application {
-  private static final String VIEW_RESOURCE_PATH = "/view/fireFigtherView/fireFigtherBord.fxml";
+  private static final String VIEW_RESOURCE_PATH = "/view/fireFigtherView/putElementCount.fxml";
 
   private static final String APP_NAME = "Firefighter simulator";
   private static final int ROW_COUNT = 20;
@@ -45,12 +45,12 @@ public class SimulatorApplication extends javafx.application.Application {
   private void initializeInitialElementCount() {
     INITIAL_ELEMENTS_COUNT = new HashMap<>();
     INITIAL_ELEMENTS_COUNT.put(new Fire(), 1);
-    INITIAL_ELEMENTS_COUNT.put(new FireFigther(), 3);
-    INITIAL_ELEMENTS_COUNT.put(new Cloud(), 2);
-    INITIAL_ELEMENTS_COUNT.put(new MotorisedFirefigther(), 3);
-    INITIAL_ELEMENTS_COUNT.put(new Mountain(), 1);
-    INITIAL_ELEMENTS_COUNT.put(new Road(), 4);
-    INITIAL_ELEMENTS_COUNT.put(new Rockerie(), 5);
+    INITIAL_ELEMENTS_COUNT.put(new FireFigther(), 1);
+    INITIAL_ELEMENTS_COUNT.put(new Cloud(), 0);
+    INITIAL_ELEMENTS_COUNT.put(new MotorisedFirefigther(), 0);
+    INITIAL_ELEMENTS_COUNT.put(new Mountain(), 100);
+    INITIAL_ELEMENTS_COUNT.put(new Road(), 0);
+    INITIAL_ELEMENTS_COUNT.put(new Rockerie(), 0);
   }
 
 
@@ -59,9 +59,9 @@ public class SimulatorApplication extends javafx.application.Application {
     URL location = SimulatorApplication.class.getResource(VIEW_RESOURCE_PATH);
     loader.setLocation(location);
     view = loader.load();
-    ControllerFireFigtherBord controller = loader.getController();
-    controller.initialize(SQUARE_WIDTH, SQUARE_HEIGHT, COLUMN_COUNT, ROW_COUNT,INITIAL_ELEMENTS_COUNT
-            );
+    //ControllerFireFigtherBord controller = loader.getController();
+    //controller.initialize(SQUARE_WIDTH, SQUARE_HEIGHT, COLUMN_COUNT, ROW_COUNT,INITIAL_ELEMENTS_COUNT
+         //   );
   }
 
   private void showScene() {
diff --git a/src/main/java/model/Element/Doctor.java b/src/main/java/model/Element/Doctor.java
new file mode 100644
index 0000000..cce6d07
--- /dev/null
+++ b/src/main/java/model/Element/Doctor.java
@@ -0,0 +1,31 @@
+package model.Element;
+
+import util.Position;
+import view.ViewElement;
+
+import java.util.List;
+import java.util.Map;
+
+import static util.Tools.*;
+
+public class Doctor implements ModelElement {
+    @Override
+    public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
+        if(!extinguishneighbor(position,board,new Virus(),rowCount,columnCount)) {
+            Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,new Virus(),List.of());
+            removeElement(position, board, new Doctor());
+            addElement(newPositionStep, board, new Doctor());
+            extinguishneighbor(newPositionStep,board,new Virus(),rowCount,columnCount);
+        }
+    }
+
+    @Override
+    public ViewElement getViewElement() {
+        return ViewElement.Doctor;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        return obj instanceof Doctor;
+    }
+}
diff --git a/src/main/java/model/Element/FireFigther.java b/src/main/java/model/Element/FireFigther.java
index d18c808..26600a8 100644
--- a/src/main/java/model/Element/FireFigther.java
+++ b/src/main/java/model/Element/FireFigther.java
@@ -11,13 +11,11 @@ import static util.Tools.*;
 public class FireFigther implements ModelElement{
     @Override
     public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
-
-
-        if(!extinguishneighbor(position,board,columnCount,rowCount)) {
-            Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,new Fire(),List.of(new Mountain()));
+        if(!extinguishneighbor(position,board,new Fire(),rowCount,columnCount)) {
+            Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,new Fire(),List.of(new Mountain(),new MotorisedFirefigther() ));
             removeElement(position, board, new FireFigther());
             addElement(newPositionStep, board, new FireFigther());
-            extinguishneighbor(newPositionStep,board,columnCount,rowCount);
+            extinguishneighbor(newPositionStep,board,new Fire(),rowCount,columnCount);
         }
 
     }
diff --git a/src/main/java/model/Element/Humain.java b/src/main/java/model/Element/Humain.java
new file mode 100644
index 0000000..84af4de
--- /dev/null
+++ b/src/main/java/model/Element/Humain.java
@@ -0,0 +1,35 @@
+package model.Element;
+
+import util.Position;
+import view.ViewElement;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+import static util.Tools.*;
+
+public class Humain implements ModelElement{
+    @Override
+    public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
+        List<Position> neighbors = neighbors(position, rowCount, columnCount);
+        if (!neighbors.isEmpty()) {
+            Random nextCloud = new Random();
+            Position randomNeighbor = neighbors.get(nextCloud.nextInt(neighbors.size()));
+            addElement(randomNeighbor, board, new Humain());
+        }
+
+        removeElement(position, board, new Humain());
+    }
+
+
+    @Override
+    public ViewElement getViewElement() {
+        return ViewElement.Humain;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        return obj instanceof Humain;
+    }
+}
diff --git a/src/main/java/model/Element/MotorisedFirefigther.java b/src/main/java/model/Element/MotorisedFirefigther.java
index e4766b3..8dbf5b5 100644
--- a/src/main/java/model/Element/MotorisedFirefigther.java
+++ b/src/main/java/model/Element/MotorisedFirefigther.java
@@ -13,14 +13,14 @@ public class MotorisedFirefigther implements ModelElement{
     @Override
     public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
 
-        if(!extinguishneighbor(position,board,columnCount,rowCount)) {
+        if(!extinguishneighbor(position,board,new Fire(),rowCount,columnCount)) {
             Fire fire = new Fire();
-            Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,fire,List.of(new Mountain()));
-            Position newPositionTwoStep= neighborClosestTo(newPositionStep,board,rowCount,columnCount,fire,List.of(new Mountain()));
+            Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,fire,List.of(new Mountain(),new FireFigther()));
+            Position newPositionTwoStep= neighborClosestTo(newPositionStep,board,rowCount,columnCount,fire,List.of(new Mountain(),new FireFigther()));
             MotorisedFirefigther motorisedFirefigther=new MotorisedFirefigther();
             removeElement(position,board,motorisedFirefigther);
             addElement(newPositionTwoStep,board,motorisedFirefigther);
-            extinguishneighbor(newPositionTwoStep,board,columnCount,rowCount);
+            extinguishneighbor(newPositionTwoStep,board,new Fire(),rowCount,columnCount);
         }
 
     }
diff --git a/src/main/java/model/Element/Virus.java b/src/main/java/model/Element/Virus.java
new file mode 100644
index 0000000..d125bff
--- /dev/null
+++ b/src/main/java/model/Element/Virus.java
@@ -0,0 +1,38 @@
+package model.Element;
+
+import util.Position;
+import view.ViewElement;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+import static util.Tools.*;
+
+public class Virus implements ModelElement{
+    @Override
+    public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
+        List<Position> neighbors = neighbors(position, rowCount, columnCount);
+        if (!neighbors.isEmpty()) {
+            Random nextCloud = new Random();
+            Position randomNeighbor = neighbors.get(nextCloud.nextInt(neighbors.size()));
+            if (board.get(randomNeighbor).contains(new Humain())) {
+                removeElement(randomNeighbor,board,new Humain());
+                addElement(randomNeighbor, board, new Virus());
+            }
+            addElement(randomNeighbor, board, new Virus());
+        }
+
+        removeElement(position, board, new Virus());
+    }
+
+    @Override
+    public ViewElement getViewElement() {
+        return ViewElement.Virus;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        return obj instanceof Virus;
+    }
+}
diff --git a/src/main/java/util/Tools.java b/src/main/java/util/Tools.java
index 2c3cbe9..d7b7c92 100644
--- a/src/main/java/util/Tools.java
+++ b/src/main/java/util/Tools.java
@@ -36,7 +36,8 @@ public class Tools {
             }
             for (Position adjacent : neighbors(current, rowCount, columnCount)) {
 
-                    if (!(seen.contains(adjacent) && impassableElement(board.getOrDefault(adjacent,List.of()),impassableElements))) {
+                    if (!(seen.contains(adjacent)) && passableElement(board.getOrDefault(adjacent, List.of()), impassableElements)) {
+
                         toVisit.add(adjacent);
                         seen.add(adjacent);
                         firstMove.put(adjacent, firstMove.get(current));
@@ -70,11 +71,11 @@ public class Tools {
         elements.remove(element);
         board.put(position,elements);
     }
-    public static boolean extinguishneighbor(Position position ,  Map<Position, List<ModelElement>> board,int columnCount, int rowCount){
+    public static boolean extinguishneighbor(Position position ,  Map<Position, List<ModelElement>> board,ModelElement extinguishElement, int rowCount,int columnCount){
         boolean bool=false;
         for (Position position1 : neighbors(position, rowCount, columnCount)) {
             if (board.containsKey(position1)) {
-                if (board.get(position1).contains(new Fire())) {
+                if (board.get(position1).contains(extinguishElement)) {
                     extinguish(position1,board);
                     bool=true;
 
@@ -85,7 +86,7 @@ public class Tools {
         }
         return bool;
     }
-    public static boolean impassableElement (List<ModelElement> list,List<ModelElement>impassableElements){
+    public static boolean passableElement (List<ModelElement> list,List<ModelElement>impassableElements){
 
         for (ModelElement impassableElement:impassableElements
              ) {
diff --git a/src/main/java/view/ViewElement.java b/src/main/java/view/ViewElement.java
index c360b71..ebcedd3 100644
--- a/src/main/java/view/ViewElement.java
+++ b/src/main/java/view/ViewElement.java
@@ -1,9 +1,17 @@
 package view;
 
 import javafx.scene.paint.Color;
+import model.Element.Virus;
 
 public enum ViewElement {
-  FIREFIGHTER(Color.BLUE), FIRE(Color.RED),Cloud(Color.GRAY),Rockerie(Color.LIGHTGREY),MotorisedFirefigther(Color.ORANGE),Road(Color.BLACK),Mountain(Color.BROWN), EMPTY(Color.WHITE);
+  EMPTY(Color.WHITE),
+  /// FIREFIGHTER
+  FIREFIGHTER(Color.BLUE), FIRE(Color.RED),Cloud(Color.GRAY),
+  Rockerie(Color.LIGHTGREY),MotorisedFirefigther(Color.ORANGE),
+  Road(Color.BLACK),Mountain(Color.BROWN),
+  /// Virus
+  Virus(Color.PURPLE),Doctor(Color.AQUA),Humain(Color.BLACK)
+  ;
   final Color color;
   ViewElement(Color color) {
     this.color = color;
diff --git a/src/main/resources/view/Settings.fxml b/src/main/resources/view/Settings.fxml
index 8670e2f..71254c0 100644
--- a/src/main/resources/view/Settings.fxml
+++ b/src/main/resources/view/Settings.fxml
@@ -5,7 +5,7 @@
 <?import javafx.scene.layout.GridPane?>
 
 <GridPane xmlns:fx="http://javafx.com/fxml"
-          fx:controller="controller.fireFigther.SettingsController" alignment="center" hgap="10" vgap="10" padding="20">
+          fx:controller="controller.SettingsController" alignment="center" hgap="10" vgap="10" padding="20">
     <Label text="Settings" style="-fx-font-size: 16;" GridPane.columnIndex="0" GridPane.rowIndex="0" GridPane.columnSpan="2"/>
 
     <!-- Row Count -->
diff --git a/src/main/resources/view/fireFigtherView/putElementCount.fxml b/src/main/resources/view/fireFigtherView/putElementCount.fxml
index e69de29..1db5954 100644
--- a/src/main/resources/view/fireFigtherView/putElementCount.fxml
+++ b/src/main/resources/view/fireFigtherView/putElementCount.fxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.*?>
+<?import javafx.scene.image.*?>
+<?import javafx.scene.layout.*?>
+
+<AnchorPane fx:id="Fire" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="434.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1">
+   <children>
+      <Spinner fx:id="fire" editable="true" layoutX="106.0" layoutY="31.0" prefHeight="25.0" prefWidth="363.0" />
+      <Label layoutX="265.0" layoutY="14.0" text="Fire" />
+      <Label layoutX="245.0" layoutY="64.0" text="Fire Fighter" />
+      <Spinner layoutX="106.0" layoutY="82.0" prefHeight="25.0" prefWidth="363.0" />
+      <Spinner layoutX="102.0" layoutY="134.0" prefHeight="25.0" prefWidth="363.0" />
+      <Spinner layoutX="106.0" layoutY="186.0" prefHeight="25.0" prefWidth="363.0" />
+      <Spinner layoutX="102.0" layoutY="234.0" prefHeight="25.0" prefWidth="363.0" />
+      <Spinner layoutX="101.0" layoutY="286.0" prefHeight="25.0" prefWidth="355.0" />
+      <Spinner layoutX="100.0" layoutY="335.0" prefHeight="25.0" prefWidth="355.0" />
+      <Button layoutX="229.0" layoutY="376.0" mnemonicParsing="false" prefHeight="55.0" prefWidth="92.0" text="Button" />
+      <Label layoutX="259.0" layoutY="116.0" text="Cloud" />
+      <Label layoutX="215.0" layoutY="169.0" text="Motorised Fire Fighter" />
+      <Label layoutX="249.0" layoutY="217.0" text="Mountain" />
+      <Label layoutX="260.0" layoutY="269.0" text="Road" />
+      <Label layoutX="251.0" layoutY="318.0" text="Rockerie" />
+      <ImageView fitHeight="62.0" fitWidth="102.0" layoutX="223.0" layoutY="373.0" pickOnBounds="true" preserveRatio="true" />
+   </children>
+</AnchorPane>
diff --git a/src/main/resources/view/menu.fxml b/src/main/resources/view/menu.fxml
index ca96e53..40c5746 100644
--- a/src/main/resources/view/menu.fxml
+++ b/src/main/resources/view/menu.fxml
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<?import java.lang.*?>
-<?import java.util.*?>
-<?import javafx.scene.*?>
 <?import javafx.scene.control.*?>
 <?import javafx.scene.layout.*?>
 
-<AnchorPane xmlns="http://javafx.com/javafx"
-            xmlns:fx="http://javafx.com/fxml"
-            fx:controller="controller.controllerMenu"
-            prefHeight="400.0" prefWidth="600.0">
 
+<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="controller.controllerMenu">
+   <children>
+      <Button layoutX="36.0" layoutY="119.0" mnemonicParsing="false" prefHeight="106.0" prefWidth="259.0" text="firefiter" />
+      <Button layoutX="321.0" layoutY="119.0" mnemonicParsing="false" prefHeight="106.0" prefWidth="259.0" text="virus" />
+      <Button layoutX="193.0" layoutY="279.0" mnemonicParsing="false" prefHeight="56.0" prefWidth="231.0" text="play" />
+      <Button layoutX="541.0" layoutY="14.0" mnemonicParsing="false" prefHeight="41.0" prefWidth="45.0" text="setting" />
+      <Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="96.0" text="exit" />
+   </children>
 </AnchorPane>
-- 
GitLab