From 68f9954e0d867c3fd8991bed68ce5508bdfa8b09 Mon Sep 17 00:00:00 2001 From: Lenovo <mohamed-ali.KALLEL@etu.univ-amu.fr> Date: Sun, 3 Dec 2023 23:58:53 +0100 Subject: [PATCH] Final commit, deso Mr. regis --- .../8.4/executionHistory/executionHistory.bin | Bin 72972 -> 72972 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/8.4/fileHashes/fileHashes.bin | Bin 26097 -> 27397 bytes .gradle/8.4/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.4/fileHashes/resourceHashesCache.bin | Bin 27711 -> 30669 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .gradle/file-system.probe | Bin 8 -> 8 bytes .../java/main/app/SimulatorApplication.class | Bin 3982 -> 3043 bytes .../main/controller/SettingsController.class | Bin 863 -> 0 bytes .../java/main/controller/controllerMenu.class | Bin 846 -> 2085 bytes .../ControllerFireFigtherBord.class | Bin 7185 -> 0 bytes .../fireFigther/PersistentToggleGroup.class | Bin 2716 -> 0 bytes .../java/main/model/FirefighterBoard.class | Bin 4162 -> 4166 bytes build/resources/main/view/Settings.fxml | 18 --- .../view/fireFigtherView/fireFigtherBord.fxml | 40 ----- .../view/fireFigtherView/putElementCount.fxml | 26 ---- build/resources/main/view/menu.fxml | 7 +- .../compileJava/previous-compilation-data.bin | Bin 22313 -> 22320 bytes src/Diagramme de classe.png | Bin 0 -> 45708 bytes src/descriptif du projet.txt | 28 ++++ src/main/java/app/SimulatorApplication.java | 25 +-- ...reFigtherBord.java => ControllerBord.java} | 8 +- src/main/java/controller/ControllerMenu.java | 63 ++++++++ .../controller/ControllerPutElementCount.java | 102 +++++++++++++ .../ControllerVirusElementCount.java | 64 ++++++++ .../PersistentToggleGroup.java | 2 +- .../java/controller/SettingsController.java | 21 --- src/main/java/controller/controllerMenu.java | 31 ---- .../ControllerPutElementCountController.java | 62 -------- src/main/java/model/Element/Doctor.java | 1 + src/main/java/model/Element/Virus.java | 16 +- .../main/resources/view}/DarkTheme.css | 0 src/main/resources/view/Settings.fxml | 18 --- .../view/fireFigtherView/DarkTheme.css | 142 ------------------ .../view/fireFigtherView/fireFigtherBord.fxml | 40 ----- .../view/fireFigtherView/putElementCount.fxml | 26 ---- src/main/resources/view/menu.fxml | 7 +- src/main/resources/view/putElementCount.fxml | 54 +++++++ src/main/resources/view/viewBord.fxml | 59 ++++++++ src/main/resources/view/virusBoard.fxml | 51 +++++++ .../resources/view/virusElementCount.fxml | 34 +++++ 41 files changed, 486 insertions(+), 459 deletions(-) delete mode 100644 build/classes/java/main/controller/SettingsController.class delete mode 100644 build/classes/java/main/controller/fireFigther/ControllerFireFigtherBord.class delete mode 100644 build/classes/java/main/controller/fireFigther/PersistentToggleGroup.class delete mode 100644 build/resources/main/view/Settings.fxml delete mode 100644 build/resources/main/view/fireFigtherView/fireFigtherBord.fxml delete mode 100644 build/resources/main/view/fireFigtherView/putElementCount.fxml create mode 100644 src/Diagramme de classe.png create mode 100644 src/descriptif du projet.txt rename src/main/java/controller/{fireFigther/ControllerFireFigtherBord.java => ControllerBord.java} (94%) create mode 100644 src/main/java/controller/ControllerMenu.java create mode 100644 src/main/java/controller/ControllerPutElementCount.java create mode 100644 src/main/java/controller/ControllerVirusElementCount.java rename src/main/java/controller/{fireFigther => }/PersistentToggleGroup.java (96%) delete mode 100644 src/main/java/controller/SettingsController.java delete mode 100644 src/main/java/controller/controllerMenu.java delete mode 100644 src/main/java/controller/fireFigther/ControllerPutElementCountController.java rename {build/resources/main/view/fireFigtherView => src/main/resources/view}/DarkTheme.css (100%) delete mode 100644 src/main/resources/view/Settings.fxml delete mode 100644 src/main/resources/view/fireFigtherView/DarkTheme.css delete mode 100644 src/main/resources/view/fireFigtherView/fireFigtherBord.fxml delete mode 100644 src/main/resources/view/fireFigtherView/putElementCount.fxml create mode 100644 src/main/resources/view/putElementCount.fxml create mode 100644 src/main/resources/view/viewBord.fxml create mode 100644 src/main/resources/view/virusBoard.fxml create mode 100644 src/main/resources/view/virusElementCount.fxml diff --git a/.gradle/8.4/executionHistory/executionHistory.bin b/.gradle/8.4/executionHistory/executionHistory.bin index 1b9f8fbd468ce72efa20e531dcbccf6fc9c93588..890726ca24b67bc996fb6ba6710d2478c220c32d 100644 GIT binary patch delta 2204 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 E0Lp960RR91 delta 3818 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 diff --git a/.gradle/8.4/executionHistory/executionHistory.lock b/.gradle/8.4/executionHistory/executionHistory.lock index 3ad2f8137f4dd9953229e800ab30840e189d45e5..6e7254dff416c1282e363eb60aff371e15496928 100644 GIT binary patch literal 17 VcmZQRdS=>M&c7c%GJpZIEdWOB1^)m5 literal 17 VcmZQRdS=>M&c7c%GJpZ&4**A_2DktK diff --git a/.gradle/8.4/fileHashes/fileHashes.bin b/.gradle/8.4/fileHashes/fileHashes.bin index 93297f489ce7c0dc7a0f241d17d3d933d010ac00..c5726a2eda9592c3d19f99286cd3d924a22fdf93 100644 GIT binary patch delta 3115 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 GWE}v4+<Sxo delta 1579 zcmZp@#`y6x;|3E6#u<}MB@8A{l`xomS3+VkujGNve<e8?C(B8%n0!xq|KzPQl9Qjw z#7~ZuT`^f!&R}w?oWbO^atAiI%Aa7IT&s9va;uWW<gH2`n?;o^7$>KyNKBrpVmSGp z%8JeNRO=Zxo2u_(Wa10lsQ5#CqrnMIJ!1w222BPA21O7S=zOZ(_=dykTv9DF^VEH> z>lhdqdt}3Emok6>=kv+=9;&R}KMH@zPM+xz4`#_t{_CL&W$AnBu`uuX@p5varyh&= zS)uQfCwuDI$t-IP2kU2GbYfs&K(jJd-h@L(+-EJXQsXv}LoQh$D`i$Il|yu}22K9& z39(XnvZj|Fi_Egth{@4j5F1q{_riqsd&S#>9Hs%$$KZ--Q#tGVPT9-1e%xe#`{t*Z z#}trFvUb&l5FLEyCdYb1Y|@zA?yXx7G7S_m3=9lxQJAJRZFr-#Vzbxbn&UGweEa1) zL8b|+#e9L7#+ZnyBVWPBbmz*Q$;Z7WTGnI)hJ$p-dN;U0bg*!s>X>ZoW2SI^{%zUc z(hnzY^)Fjyb8+qsu$Hj8%MdMmb0&BCsIka~)m@p)A1^ietdA>e_mBA({U?k2>aoZy ze-kp<(^rp0)~+dka&Cgu<f*<QEV7}C>n5-Dl~S;6QF$Al^L6eEo!v&iwI&IIjSgMh z2r-(SW%6@hHINzdlLh^x6t3Sncv3g5>(TB>3Xu*@4pX73TcE19PWJW#t6n_0)DLX+ z(#gvqjOCMW`hne0JDJ-bETuAeW2}^dN>fu@US!Viu*GNAnlj&<4mQ!QDF<Sru=!-$ zM6ijQColBZtCv~+CKw{aI1x3R7#I`<s+ljO>#jcQv4g44en&>uSCCmU%im~2bg-3T z>Nv5bf+Kv7%H0c5{PW5@S37`o$cELuhUf@wLenwXAXE&T#x*CO4bYuDEx?$Cc~Q*m z&1VCwn1fFK@-3-6VDG4uH>GjOt9Q{LvzX>&7(&cqFF`YlK~Vsk4(3HMcVRjvM~1wG zTPHPHH%x?ur(=)j<l0cFpjjF}!b0){RQ0_xZF>^BPJwKb4POmSsZ14^w(Z@q=2q*L zzg_$9G&CHmX1)v7;W5PuVjJ_8$%>(BEVAKi{3o9cfLJCQz9s-<Sv_{k)&xSd5^Y)d znjnY{<}H}cWA7|pc<hw={qnMVLWQ3T|ACyx)3HaIfq{V)q|0(LW02}(j&NfZLGEwM zC)<bXvG8>4emuD_TuMQlGl@m1=W@aaU8fJ;zH`5T^vW!MqX*K*z`&?Dd3AUMC=mxv zW{=RblUe=-6tN5p3|w<C-Em89Til&_{P*YFUzF8QZ+sABmiQD88K_ySCi};!fzlx~ z%`?Yi8nNcWJO8Wq)=w;b@M&w_TFbW}BV;|xW<rc$o<O9I@HHVgbZnN0yvYLquFKV_ diff --git a/.gradle/8.4/fileHashes/fileHashes.lock b/.gradle/8.4/fileHashes/fileHashes.lock index 7f6a2d812e3bfbee3147cc2985e35216a647fc87..de14264c78d0fcca541794779cdbc82e240751f8 100644 GIT binary patch literal 17 UcmZSfc@Qj^S+l;00StIe04;$7>i_@% literal 17 UcmZSfc@Qj^S+l;00Sq_=04-Gm!vFvP diff --git a/.gradle/8.4/fileHashes/resourceHashesCache.bin b/.gradle/8.4/fileHashes/resourceHashesCache.bin index b6256803b0f11f9d905dc80febe26d03a3c9629a..f07316dcb181bc4ce1181c65d6d59da90898321c 100644 GIT binary patch delta 4396 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 VCaHDF*3elKE-n(`SE~mnegJ|ZpBw-H delta 297 zcmX^6o^k&T#tkMCjQo>LC2meulkA^-R?=XysFcL!SSe1%$#v2PHs{H#XPj&*XE3=| zZo*_$d5OuP@&=Qi${S49Rj8P}SHW|#oZ|b*s!AUx>nXcW?p2nU{8rg>vY*QS$*QUz zlUr2{HlJ0sV4Q5KE-|@QU1IW4b;-@&)a4l`>uM%WUZz<-*;Gq%a++5B<hxpilkK$K zC(qUPnEY2;a<ZO|{^U}f6_b5+B_^-cO_;2z=Q+7e&tUR7z4FPW`jV5E=`Ww0YTz;X zu7Sa1RYQ--t%egP>lwLEUTWkyna$W>vY)Z|<XYnclXFcxCO<Xtm>g@mVzR86;p8+k ziOJK<+$VoEGni~^o;Z1%xyNKN3-QUN7KW4eS-j`@4+RVil9d}3XNYZf^!TR?0H9uU AEdT%j diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 1f7191f3ec063b0e7aa6a3e9c8002b0984d63547..93d013839980d107e7e1773eefd8c0af8af92f38 100644 GIT binary patch literal 17 UcmZS1@3FQNugcrY00wL>04Ev)c>n+a literal 17 UcmZS1@3FQNugcrY00u1L04C`JN&o-= diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index 177b638e36f899ff65fdfbdf0fb2b363a7f6029f..0b3866e8d86aeea5717cc9afd2d4313e988a8876 100644 GIT binary patch literal 8 PcmZQzVC*q`_Ie)x2-E{k literal 8 PcmZQzVC<1u{)`_02MPj4 diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class index 710b7e449b80cc57d3fca16a1745b5d38726aa73..0c2201dd16cef43b342c37c68917a4746ce613f5 100644 GIT binary patch delta 1243 zcmeB^e=N>*>ff$?3=9ko46`?K-D8|A#3UT5!^5D<z{beHS)7qy9-N$-m&(qd&&VK_ zl~|UTR-vC(k(;CM7UApTlb@K9TExYm$H2_NV8qD4uV0p#TCSg)npdg^QpCkz!eGkI zV8+8>&R{XQn8lq#kHLzE!J5Hl@*x%#4m}1t9tL{`hsp0)6d0W*^Rr5^x$rQ!GPq6F zXO(AWXYiPOkyV_-oxzKTftA5~@&{IVHeVhFKL-EFqHLPtfjkUBAV;!*9LdGN!4Sg3 z5XulXIh0L>GlC(Kogs>cA$oEXo4PS40|!Ga4?`S7JR<{Vkbii*vwx^x2qOcdCrBod zham|h!{hAl6YA>+k(|7e&3&>6yUOHvCe6ua>^m6CCckHonB2*+ij%`8IVUqOv&3$) zA*VfGCl^B(LpM7^4-Z2xL*M2)P8LSH35*Ql8a~j#N-ayxE75lak=B}F{A>)9KyIDP z!_dIcD8SIj$iU;7mzP@PoRe5woLbDzFn#g?E-jXsj0|#<-*bvjcHm;0%*`!cpUjZL zz{rrwz`(%7V8|fFkcPzPW#9sNj)8%J3*;3B1_mjHbcT4i`V0mshD;Pb6GIk5HUlF= z4%ob01||k>1|BfmmBEdHfq{d8k%5(gje(INkAZ<fpMlYwfsuiMfmLfe1LH=px_kx( zusj2U5JLe20|O640Yf1}5m;W0K^>%f@(XV3dXQQv1~vu;1_cII21N!w1|<e524w~% z1{DTP234?rF$N|E1_mvteh>@fB1Q&AhGGVF1}3mO{1}+Ps`#|Dw=t+_ZDY{T+Qy)b zaE}lJ3)l=+25kmT1|0@o23?TZ^$ZZh`QV20fxXMfP{P2#z{0@DP|Co>pvAxjwI-i| ziGi7cfkAOMgI?rz1_K`<4k5#B4933NI@=g5L3Z07U~t^Z;Eb?YjDeMbfx(D@gTa_V zfWd@8l);oifx!%9JA*<!#5Abw91M~S<qQ=Jj0^${f((@mRSZlh?$8AXD=64w7?{D{ zmD$bU9;vm3!FfA_r;pYa26pXj3}AX2Ljb}F5YJmO@Gw|0h%i_)NHf@gtrugc2ZgK* z)OsEU0fuUZ8U{uNPKH{BFi;#ZFfbT1fI=D+!8;g&5oU6M?YC!OVQ>JO1&ic5hI$4D z0WMGyh8m#9zyMAFEISy&5&A(1h=HL*2}v^xLlZ+YIEA&qJqk)G3=9km+yWw-8Dc<0 z0>}(T22jF*xB(Qv;tb3Tt>DDf#?TH;avcoJ4E+of8Ky8y1t)(-hG`5l7-lg@0sy_K Byo3M% delta 2204 zcmaDX-Y3s>>ff$?3=9ko45v48-D9km&CJUz$xO`2tV;ESuv~Leb5rw5obyZbO1Ky} z7<70TbQ#zf8Tb$?!!lFLK~nlW3<e-6&f<*x^5Epuyi|4uBSr?nti-ZJ{nC=m9DR?( z;tb!!0xkwa24+qM4hB;m1~Ue8Mg}oYKhF?PN1w@SSQP8o87vtYgmUv!Qgig7w(GlP z7Nv4ASTHbiG1xHJvNPE6FxWFVz|77`%uCnz%qvMvPc33(U@uF|DNXfHV`LE1@YM7H z+m5Wlnw!Ci!I_=Gg@?hF!HtoD7pwy8KHtOw#(D<kg3=O31`7=&t^P?_smUeQm?FsL zLlv<zcrY?ZV!GcgGrc4uwTO$soq?I1!JCmm7*&mPPJU?$7el=lNZOB)K?zmbH@_sm zD6=><1r!!(FtdC?iUS!L#LyL&=9MI7=5a9ufE0va1ZYrxVhR^SFi0{SRkv_niGEOi za&~G_W-1p$7)V9bWC12=he!ry4u)7p1}*)v%+zxIw9KMZsFy$q0GaQUUzDPkR*{>- z#SqVsz|N4!!;r*~JUM{Log<PVm4_jXA${_ECKZlIhD;uYEQajKr<oKOb0@!Hl48r} zVJKiIoXo>4U(dx5$xzJ0P{NSS$iSPPTH>6aS5lOplapG+&QQk4V2}*wBipTyPzDMp zs0%?Z;$kResNi9!WT;|f;6kKca5C}q^n}DMEE!m9vV^fS)J)c67U!sDsN-Q^WvHL* z%Ph~<$ivXY&^)<_SyQ!@hoKFW-dRBD9h3n&co;evx)>SQauQ4Pk~2UiM^Ahx!p+6d z!_dpl(8t5jKlwhh`eaKMcO}js|L}Nc|4_dWMg~StW(EcZ5k>|cXMdkiUq6WW<T@6$ z$>&+NF)p3l#u{PIh43#UgOLw{N1X2`-)3Dqc`}<V-%c)uT@1U~8TRln>}A-u`5qe! zqul{U260GoPpi;RElbTS(RT%r)|z4bYz&7$eml&=u#sVt0K+Cm1|HA6ywoD+oW$bd z)M9pq<C7IQv{+6uGRRH#XBVHmfSqk}Hivlq1cr$Wj0}?)7#NrsVi=?tCL{5A8KfAd zFieHZPh*f`n2yGufyAH5AjL2Xh0g>kI2afiW`oV2!@$JA&A<a@7cdkuFfeeqGcYo+ zGO#f)GR$RQV9;k^WME`qU|`kS&cL`4tZp6y16Z1YL4aXC0|NsOL;=GBhJ|2xH3oH% z=E)YE*7YE@QVeVi3=DD%tPJuDd<+T<QVfa=N(@R2nheTd{bCGE3=9lfQ2ihl$VDJ) z7cr<aFoB&B#=rztC8VXjjX_0g8-s?{HU@32Z47z{H;FN@GB7Y`Ft9RcGH^0zG4L{I z*E0w*=pb1l1h+&8>}^Jd#S9D#EDVecOBk3Kw7}j1`T7F`GuTthw01KXMs8;?-pXL2 zwS~cCH-kmwb_Oc}t{n{4I~g3A8Nwl=?vdLWJTXMQBI~y^_+SY8Ms8>D#}EyO+|Ce$ zAsQUHogoxMG%RvELj;m2A`H|RI2jli^cc7q^cfTx4C)!o84MYG8H^Z`8H^b!8B7@Z z8B7_LGMItG1QKz}pkcxUs-B?1J(GcrfrWvA!E!f4WaM^+XdfXCp_pw9alYC*+Za+n zagcF<A!jQ?p7u6|q5}-2e!2o00vZA$0wSRB*v3!}bx}Py;@KG(7_1mL7_1ot7;G3s z8EhF880;7{80;A=7#zVa(Sq0pbqNQ9A;U6;<qV7r0t}iAD;QQXFfnK_2r{f<Sk1tU z5@QDN7>i+G1}6}i-3--{T3Z<MwlmcFXw`3FVAtNp(4e)2fqff83)EE%3=BeG3tbpM zHJJ#58-p~1JJ=zRv?v302oHk*!y1OQ42%q%4C@%WK&hI6fx#G_C3Y~hBaGw%+waA| z!r%=y3KY793=FIc>lrpMFbHsgN&%<|dJGKU<i)asp&MZUD9bT0D8My?66R)xEes3{ q%nVz>Icpokc4&Uv!NAP0pWz_G5r(4-3=CWhj10#ZPB5HekOTlFoahb! diff --git a/build/classes/java/main/controller/SettingsController.class b/build/classes/java/main/controller/SettingsController.class deleted file mode 100644 index 1b434a4e40460f52ce64d262cb01216682f498ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 863 zcmX^0Z`VEs1_lQPO)dr|24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3V)<ovvnqWqkk)FS=h)RL0Sy!2vcxDX=)e^Gw9 zbAD-FNpL}CUS4VuBZHg|$cD5E{o>@*yi|RtetoFCH5UUP13x>101ty8gAgNw3_it- z3>@jHC1Hs<rKyYzA{v@tlabwS&CVdg$RG$Z10w91SCX2ZTExX5%pk_YAkHAc$iR`A z2Qz|ML(>!FKPestX^`iHlJj#)bMsK$&l#MVo|jlsT9nGjU<|eqmtSnavM3f?+gUR* zNCuVWm1O3ohGiCKCgr3$=H=y=B$j06=M^(D2!ZvaRp_Tx<mTwRMfmzyGcvF^=clAH zGVuFk=B4_T<|d^Ug(N2Bq=HoECnx5FB^G6Z_)tNXl8nq^Mh1BwXwYJh8f!)d?)21> zAZYY3GVrCRmN+B)%gDeLoL^d$oa&YdvPm2>a`iyL%Am-=!NA18z`(@71WFMMObjw$ zo-BhL0|Nsa10#bxm@m!1gF}v)ff1DS7#JB87#JAz85kKD85kH?wYD=bZUk#pgc<}g zPKkkmfd`_1L772?fq{XML6t!Qs@VdnnNMpA1N$}x-UAH6+ZaUGpqawYfG~v*Zi*UK QQzUVkB8=4(b+BC;070R?)&Kwi diff --git a/build/classes/java/main/controller/controllerMenu.class b/build/classes/java/main/controller/controllerMenu.class index ed9af87af0de6df99351facf1f1c637eee16495f..a5941003c47022cf1f31bf237a79d37b1e74d406 100644 GIT binary patch literal 2085 zcmX^0Z`VEs1_lR)TrLJC24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SE(Q(;PId+^9tLg(9u(!lmBl5gxr_`fsTG+ej0`Lqo|<9o41A0XVjv^a zD)iGTa&z?EB7A*(@)J{1i?|qg8JIz~3-T}sF$gm<aHOY}IOil57c(*lYiRm_bU_>f z7PRJI5M^YL(l5(QE!Qt7Epg3B%}vcKan3KzE71cP&BY+jAi>Tc$-^MUAkE0YkEWlI zfjd35Bq+5wzqBYhm61V71IdQqlA_GKbZe-kd8sA(p+P>@AQ#H=Fvu~;Gcs@&r<VBS zCnuI<=I1do2tqZ(RD!~VmqC$-L5V?`k%1*AKQV=oK?KDUkkGVdXHaEi5C*v|twO&z zIW;d;KOnIvHLrx7L7kC72qsaIn4YR13?jK0)EJmK7_=A}1OrM-6rkQ#0Q(yxr^Cab z%b>@|z)_r95|UYxlgh{-3UwVg7K5Q)3u9+6K(YXAb1;bHV$f$W0>!>DBZCA)Cz{i& zLEckiFy&z|V=#x<1lGyOAdaRUENrbA#>rsGV8za0&BI{BV9UrLnVg?jQk0*QlUk(j z3}^bL=9MxsaJyv|rMhLNXOyHCF*3-4BL!|hRG+?6X-P?bo;4SPJ%a-~gCh@v6N57& zgETC(K;F<tRSQW@VD~UGh(TilZZ25d8su|V9tJlCcSZ)z^wg5@%)FHRa*(ee2?3-W z6b1Sa32RVrd-5=Nf$|A!a!!76DoDhKhrt&l!cv@(U(U|p4~<?((siv!PAveX87>At zhCm*MAdpJ_f}+g4lHiiW<m`~5#N<>Ch7d*u8A!@5%PcA_hDI_tj=^ag6rN!`4B?=_ zWDNr;VPudDD$Og&%uNl;EY3{INp;N2%P#>Z&tgUfAy_biG6p!$Su--QIOnINGBWV{ zWag#%mF6a;7KJ1xfzpc*C}HP>B^G6Z_)tNXl8nq^Mh0mgXt-j=oi!r^8z`lN;!Og> zLP#dJW@O;VfoB^&uqu66u3=<gD*&f`Mg~!^3@E_CaS6#1){G3S#h?gaWDtSNgZPk~ zVa>?ElU!N^$~@ql!pOh~O8j7zXrXV-$iNE@Z{NfMsQ<Wv!3BX^CMX1iQB$QJC}A-u zGFUP&F)%PNF))FWF#{t*1Oo#D8v`RlBv>?@!4^%7g@F-NiZU=VL@_Wh=rb@fFfuSO zuxf2*VB84S5)Czgfq|PLhJk^B2cm!>mLZOTfq{{Mn}Lmi39Q)|rkQyM13N-9sJvug z5Mf|p5XE8uvilerY`|`fVqjq8XJBDqV_;y2+s(imxt)REM{65{fRM;G1~Ff4oox&< z+S?cu4lt<r?PgGm+|Hn3#UjZfq`8ejTaslrgMOs$b_T<33?^Dz7%a9i*llBQIl!Q1 z#VX0Vjln~bWgCO{at00`?QIMJ8^N9lWr$$#V_;?gdDV)6kAZ<fl7WLkib04$nn9dF zhC!Y|o<V~_fkB@^k->&RiNTvenIV8dg&~wdgCT-Jl_8QrjUkpn6YM(=26hGx249AF zh6Dyi1|bG#hD3%W1||l11~Z0ah7<;71`P&XhE#?$1{MZy1}=tlhBO9NhDZh$h75*G zuxsL=L7T<Ez`)7C^qnDsoxu+jP2mIrCz#~G2_-9VbQw4p^caK~^cln%3>f4Yj2Sc- tOc?YTOc`t#%ow~G%oze0EEqx=Y#1UKEEyshtQcY$Y-t@h+2F*Q0|0^i(9!?^ literal 846 zcmX^0Z`VEs1_lQP1uh0A24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SE(Q(;PId+^9tLg(9u(!lmBl5gxr_`fsTG+ej0`Lqo|<9o41A0XlF9jb zB}Mr;IjKeZ2&QjpUMV93cUopqs#|7yMoDTBBZI6D$o8}f{o>@*yi}NCeW%irlKebt zMh3~C(!7$)+|;nl;>@I+RL8u${F20y%>2A!Mg}36-n5F`9DTP4Umt5m1{UZ1lvG9r zexJ;|RKL>Pq|~C2#H5^5km~&8#GJ6iqD&AUD#%ijky*^hAnk*2CCm*usYM_MTQf4q zYQQW?ElbTS(RWM+IlvXfw$=<|WZ+Ij2rx28;a1GZ!0m?YdDgJZqS9hU29Ds=l9J54 z^kPN^uHgLAqU2P!Opud>5v~F`MGq8I42lfA3``6R42%p+4EziN42%qd3=9lx42%py z3=9mc42+;yWng3wW?*2@XJBMt1c_>GXJFjOz`(%7AOcm)z`(&E%D}+D15v;r#vl$h zl$$|<feEbH7HkCr11s|m26lvIQ0ie|;AdcA5Cj__26hcA)BunRBpIa8T*b&B%^(4F qlPTC444Cc_Lo$vLZX6>6#5hI<8Nx<L5->uRuo1EZjF1C6UmgI>c9z%x diff --git a/build/classes/java/main/controller/fireFigther/ControllerFireFigtherBord.class b/build/classes/java/main/controller/fireFigther/ControllerFireFigtherBord.class deleted file mode 100644 index f488ab73b0d3a83ae71afcf7d32b537b4091b18c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7185 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 diff --git a/build/classes/java/main/controller/fireFigther/PersistentToggleGroup.class b/build/classes/java/main/controller/fireFigther/PersistentToggleGroup.class deleted file mode 100644 index 2e4bfd31af0cd5e71a813e7d3a4392cf9643e118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2716 zcmX^0Z`VEs1_lR)IxYq#24;2!79Ivx1~x_pg{;J~#Iy?i;^fr4RQ=@qypp2)9Q}~| z^z@um_oDpL0!9Wlo6Nk-5<5l)W)00SE(Q(;PId+^9tLg(9!3TosE(Y}BK@??qExrc z^pcF!BK?5WqT<ZrlGMBs6r;G(Q=tOIj0~z8nm$n5lk;<OQj<$E^Ye=J{gaAQi^>v{ za#DRVi%YD97#JA%co_H@1Q;1O^YffD67$kiQy3Y-HGD|1+ZwA~AR8bif>^0}sYTY@ z3_=XT><l7245AETj0}ndUC7A5otTmW)6dADrGd>?AbB*KK!GX2Aj!@k#ls-YAj8O@ zgT*dPeJT)R7#UddQY%Wpu@c3_Ai*HV!ywO~z{tR#o?7CVl9HMdT$%*Z&B!1G4QTz+ zlFS@^keD?$gA#)>JA(=jgDQg>BLg4EW`r~&14m{_YEfcIei0*s7>aIBsJJyZg9d{p zJA)PvgEq+RLI@LJN*Ec~GZKsaQY%V8YIQ-L)MI22ff<*Rn3t~apOlrFTw=}6V8F;A z4Ke~pQe<Z^Lc|5OwCYq^Qj(v?$zZ}@%FbZM!(h%}!N?$sVq#`qL1~G;Z+>ZUs%u$l zUI`-upRa#tuxosftB<Q=u&WCrg9I$<Qb7vz!OB7^3sS9x7#JC>co?i1Y#15XG7|Gr za#9%?@<>dAFvD@XACXFt9N+=AuE?5;!H~g@hryn~fsuhPF(n1;I=9T6lGGwb1~Yi7 zL(&O$I?PriahQpq6v)Bg#KYjs;KIltn4Ve^oC?Z^sVR_L%g7)PjV&C}V$H?i#^BD* z;K9S-$>7DvAOH$*eWaLWWME4zEKSTQW@HeBxDZ*^S~H4^!Gytwhrt(A7O^Mi=M|Uc zrZO_HIOnINGBWV{Wag#%mF6a;7KMNc1V#oSpZw&+oUp{AOb{O`$WoG#S<J|wM_Pfv z$iS16n46T6sFIgju42f@U<h$wT7^DxaRkaPkQ@hMfr<!d2DH`;V`Shd0hg4J)W^u6 z3=3>LQOwA|2GPXGAd64AH6sICGPtw@c?}e>M7xZUfj77$F*(~eu>cxG$X+#IWN?Lh z6^}zv9fzKKz~1M|MaoU`1T-)*a0Ta=7A2>;WrA{#6xKRI59Cos1_7u1{F365qQnB< z)RK(+lwy81h7>M_RE9KmhIAf=42Dcb1|^VENOH=|E6dML)%O9%r*CRWVp?KyNq$i! zBLjCXGVct;-zb_O7C^E@v5HTAes*brHP|Z<Wx*vynR)5RB2e2P8WDL6qMUe1h?V#a zhSXXpCOaqQ<OFAyq*@Cwgz&R6<bZ1ATposCh7bXUd`1Rwh!@i;^pP^WwPqMUD?=ej zX%P=Y3`48{LkS~;5?m=H6=02G9?!hI)FS7c#Ny)AVs?gdMg~<-xD!l^j0|j$Y{Sk_ z1=WM%4M^xg!T=WR><l%G400gjaVuqHV1vXFg8~Bw0}}%XFf%ZKS~Coc41Np@3~mfe z42%p63?f?F85p&;F|cdxV&G+9*vTNs#ITWpfq{v^AJnE`0O=BDU||qp5N1$d2w-4f z;DP942xJIiU=Uyeg(=j`4Gb&{tPBhcj@sK8#Ah<tXm4YX-N~TH$l$B9lR=%4VJ3r` z&Q1m$Mur0n`hL0x7!0jgBw02w7;8zg>|(HFVA#fByZrz4<^K<Z9KZ~AfD{880|SF7 z13QBlg9?K<gBF7XgB61;g9C#+*fClREDTx<0t}%HVGJw`Dhy%_;S3RAM>|3s2yzZX zBtsMfBSSO;0|PGu3&S4<0d@wBUkutz0!*N2hPpl;)aGMgU=YyO+Q#6xjlp#$1G~;P z25*F8_`n8BGH^3UG4M0UfE}O!788J525|}~WCa-F7(ix%tYv0k<Y!=JNB{?HB0~}b y1A`a?6GJisGeZ_bHbWMemB&!PP|Q%uz`!8Hz{DWIP{vTf!pTs{P|Z-wAPE44-~_t> 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/resources/main/view/Settings.fxml b/build/resources/main/view/Settings.fxml deleted file mode 100644 index 71254c0..0000000 --- a/build/resources/main/view/Settings.fxml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.Label?> -<?import javafx.scene.control.Spinner?> -<?import javafx.scene.layout.GridPane?> - -<GridPane xmlns:fx="http://javafx.com/fxml" - 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 --> - <Label text="Row Count:" GridPane.columnIndex="0" GridPane.rowIndex="1"/> - <Spinner fx:id="rowCountSpinner" value="10" min="1" max="100" GridPane.columnIndex="1" GridPane.rowIndex="1"/> - - <!-- Column Count --> - <Label text="Column Count:" GridPane.columnIndex="0" GridPane.rowIndex="2"/> - <Spinner fx:id="columnCountSpinner" value="10" min="1" max="100" GridPane.columnIndex="1" GridPane.rowIndex="2"/> -</GridPane> diff --git a/build/resources/main/view/fireFigtherView/fireFigtherBord.fxml b/build/resources/main/view/fireFigtherView/fireFigtherBord.fxml deleted file mode 100644 index 7e1c179..0000000 --- a/build/resources/main/view/fireFigtherView/fireFigtherBord.fxml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.Button?> -<?import javafx.scene.layout.HBox?> -<?import javafx.scene.layout.VBox?> -<?import view.FirefighterGrid?> - -<?import javafx.scene.control.ToggleButton?> -<?import javafx.scene.control.Separator?> -<?import javafx.scene.control.Label?> -<HBox styleClass="background" stylesheets="@DarkTheme.css" - xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" - fx:controller="controller.fireFigther.ControllerFireFigtherBord"> - <VBox> - <Separator maxHeight="-Infinity" maxWidth="-Infinity" - prefHeight="24.0" prefWidth="200.0"/> - <Label maxHeight="-Infinity" maxWidth="-Infinity" alignment="CENTER" prefHeight="24.0" prefWidth="200.0" - text="Generation number"/> - <Label fx:id="generationNumberLabel" alignment="CENTER" contentDisplay="TEXT_ONLY" - maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> - <Separator maxHeight="-Infinity" maxWidth="-Infinity" - prefHeight="24.0" prefWidth="200.0"/> - <Button fx:id="restartButton" maxHeight="-Infinity" maxWidth="-Infinity" - mnemonicParsing="false" onAction="#restartButtonAction" prefHeight="24.0" prefWidth="200.0" - text="Restart"/> - <Button fx:id="oneStepButton" maxHeight="-Infinity" maxWidth="-Infinity" - mnemonicParsing="false" onAction="#oneStepButtonAction" prefHeight="24.0" prefWidth="200.0" - text="One step"/> - <ToggleButton fx:id="playToggleButton" maxHeight="-Infinity" maxWidth="-Infinity" - mnemonicParsing="false" onAction="#playToggleButtonAction" prefHeight="24.0" - prefWidth="200.0" styleClass="button" text="Play"/> - <ToggleButton fx:id="pauseToggleButton" maxHeight="-Infinity" maxWidth="-Infinity" - mnemonicParsing="false" onAction="#pauseToggleButtonAction" prefHeight="24.0" - prefWidth="200.0" styleClass="button" text="Pause"/> - </VBox> - <FirefighterGrid fx:id="grid" width="1000.0" height="1000.0" - xmlns="http://javafx.com/javafx" - xmlns:fx="http://javafx.com/fxml"> - </FirefighterGrid> -</HBox> diff --git a/build/resources/main/view/fireFigtherView/putElementCount.fxml b/build/resources/main/view/fireFigtherView/putElementCount.fxml deleted file mode 100644 index 3d8003d..0000000 --- a/build/resources/main/view/fireFigtherView/putElementCount.fxml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.*?> -<?import javafx.scene.image.*?> -<?import javafx.scene.layout.*?> - -<AnchorPane fx:id="putElementCount" fx:controller="controller.fireFigther.ControllerPutElementCountController" 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" value="10" min="1" max="100" /> - <Label layoutX="265.0" layoutY="14.0" text="Fire" /> - <Label layoutX="245.0" layoutY="64.0" text="Fire Fighter" /> - <Spinner fx:id="firefighter" layoutX="106.0" layoutY="82.0" prefHeight="25.0" prefWidth="363.0" value="10" min="1" max="100"/> - <Spinner fx:id="Cloud" layoutX="102.0" layoutY="134.0" prefHeight="25.0" prefWidth="363.0" value="10" min="1" max="100" /> - <Spinner fx:id="MotorisedFireFighter" layoutX="106.0" layoutY="186.0" prefHeight="25.0" prefWidth="363.0" value="10" min="1" max="100" /> - <Spinner fx:id="Mountain" layoutX="102.0" layoutY="234.0" prefHeight="25.0" prefWidth="363.0" value="10" min="1" max="100"/> - <Spinner fx:id="Road" layoutX="101.0" layoutY="286.0" prefHeight="25.0" prefWidth="355.0" value="10" min="1" max="100"/> - <Spinner fx:id="Rockerie" layoutX="100.0" layoutY="335.0" prefHeight="25.0" prefWidth="355.0" value="10" min="1" max="100"/> - <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/build/resources/main/view/menu.fxml b/build/resources/main/view/menu.fxml index e974135..801d37f 100644 --- a/build/resources/main/view/menu.fxml +++ b/build/resources/main/view/menu.fxml @@ -3,11 +3,10 @@ <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> -<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"> +<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 fx:id="FireFighter" layoutX="36.0" layoutY="119.0" mnemonicParsing="false" onAction="#FireFighter" prefHeight="106.0" prefWidth="259.0" text="firefiter" /> + <Button fx:id="FireFighter" layoutX="36.0" layoutY="119.0" mnemonicParsing="false" onAction="#FireFighter" prefHeight="106.0" prefWidth="259.0" text="FireFighter" /> <Button fx:id="Virus" layoutX="321.0" layoutY="119.0" mnemonicParsing="false" onAction="#Virus" prefHeight="106.0" prefWidth="259.0" text="virus" /> - <Button fx:id="Settings" layoutX="541.0" layoutY="14.0" mnemonicParsing="false" onAction="#Settings" prefHeight="41.0" prefWidth="45.0" text="setting" /> - <Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" onAction="#exit" prefHeight="35.0" prefWidth="96.0" text="exit" /> + <Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="96.0" text="exit" onAction="#exit" /> </children> </AnchorPane> diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index 0794c21f5857e1712377974470c887937b65a54f..71c8af93e6b47cab67d4982b842e2084b12ebf32 100644 GIT binary patch delta 20871 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%0AC@0Q#j5T;S<MGM&<izSvusXc~g?mB% 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 MW?aO`2s%6r0C)IOqyPW_ delta 20713 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 diff --git a/src/Diagramme de classe.png b/src/Diagramme de classe.png new file mode 100644 index 0000000000000000000000000000000000000000..a611011c6751cf7faf9545441f5147539ec381ce GIT binary patch literal 45708 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®Av*E)T))Uv{*9<|#V5&;CL2=}$cSpECOt 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òq`d0eo8>lUFU<0${-0yk?z-6Y%+2aj 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 DLCRC% literal 0 HcmV?d00001 diff --git a/src/descriptif du projet.txt b/src/descriptif du projet.txt new file mode 100644 index 0000000..95f7e39 --- /dev/null +++ b/src/descriptif du projet.txt @@ -0,0 +1,28 @@ +décrit le projet + le projet vise a faire une simulation tout enrespectant les principes SOLID +quand on lance progrme on atterie sur un meun qui nous permet de choisir le mode de jeu + si on choisi fire Fighter on dois selectionner le nombre d element qui sera dans notre grille + si on choisi virus on sera amener a une simuation de virus + sinon on clique sur exit et le programme se ferme + +expliqué les différents jeux + fire Fighter + le feu se propage sur tout les case vide et les case rocaille + le pompier etain les 4 case autour de lui + le nuage se balade sur la grille et etain le feu en desous de lui + le pompier motoriser etain les 4 case autour de lui et se deplace de 2 case + la monatin le pompier , le feu et le pompier motoriser ne peuvent pas aller sur cette case + la route le feu ne peut pas de propager sur cette case + virus + le virus transphorme l humain en virus + le humain se balade sur le grille + le medecin le medecin elimine le virus + +expliqué comment on a structuré notre code + tout les element sur la grie implement l interface model element compose de 2 metode update qui gere les deplacement et getviewelement + au lieu de faire 2 liste dans le pojet fourni j ai prefere faire une map avec les positions comme cle et une liste de model element + j ai une class tool dans utile avec des methode staique que je reutlise partout qui ont pour but de eviter la duplication de code j ai essayer de respeter le plus le open close principer en faisant ces methodes + +parlé des difficultés rencontrées +diffuclter a gere les scenes +diffuculter a faire les pompier motorise \ No newline at end of file diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java index 9ff1a94..070407d 100644 --- a/src/main/java/app/SimulatorApplication.java +++ b/src/main/java/app/SimulatorApplication.java @@ -1,6 +1,8 @@ package app; -import controller.fireFigther.ControllerFireFigtherBord; +import controller.ControllerBord; +import controller.ControllerMenu; +import controller.ControllerPutElementCount; import javafx.application.Platform; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; @@ -14,11 +16,11 @@ 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/menu.fxml"; private static final String APP_NAME = "Firefighter simulator"; - private static final int ROW_COUNT = 20; - private static final int COLUMN_COUNT = 20; + private static int ROW_COUNT = 20; + private static int COLUMN_COUNT = 20; private static final int SQUARE_WIDTH = 40; private static final int SQUARE_HEIGHT = 40; private Map<ModelElement,Integer> INITIAL_ELEMENTS_COUNT; @@ -38,20 +40,10 @@ public class SimulatorApplication extends javafx.application.Application { @Override public void start(Stage primaryStage) throws IOException { initializePrimaryStage(primaryStage); - initializeInitialElementCount(); initializeView(); showScene(); } - private void initializeInitialElementCount() { - INITIAL_ELEMENTS_COUNT = new HashMap<>(); - INITIAL_ELEMENTS_COUNT.put(new Fire(), 10); - INITIAL_ELEMENTS_COUNT.put(new FireFigther(), 10); - INITIAL_ELEMENTS_COUNT.put(new Cloud(), 10); - INITIAL_ELEMENTS_COUNT.put(new MotorisedFirefigther(), 10); - INITIAL_ELEMENTS_COUNT.put(new Mountain(), 10); - INITIAL_ELEMENTS_COUNT.put(new Road(), 10); - INITIAL_ELEMENTS_COUNT.put(new Rockerie(), 10); - } + private void initializeView() throws IOException { @@ -59,9 +51,6 @@ 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 - ); } private void showScene() { diff --git a/src/main/java/controller/fireFigther/ControllerFireFigtherBord.java b/src/main/java/controller/ControllerBord.java similarity index 94% rename from src/main/java/controller/fireFigther/ControllerFireFigtherBord.java rename to src/main/java/controller/ControllerBord.java index 7577440..154911f 100644 --- a/src/main/java/controller/fireFigther/ControllerFireFigtherBord.java +++ b/src/main/java/controller/ControllerBord.java @@ -1,6 +1,6 @@ -package controller.fireFigther; +package controller; -import controller.fireFigther.PersistentToggleGroup; +import controller.PersistentToggleGroup; import javafx.animation.Animation; import javafx.animation.KeyFrame; import javafx.animation.Timeline; @@ -26,7 +26,7 @@ import java.util.Map; import static java.util.Objects.requireNonNull; -public class ControllerFireFigtherBord { +public class ControllerBord { public static final int PERIOD_IN_MILLISECONDS = 50; @FXML @@ -97,7 +97,7 @@ public class ControllerFireFigtherBord { private void initializeTimeline() { - Duration duration = new Duration(ControllerFireFigtherBord.PERIOD_IN_MILLISECONDS); + Duration duration = new Duration(ControllerBord.PERIOD_IN_MILLISECONDS); EventHandler<ActionEvent> eventHandler = event -> updateBoard(); KeyFrame keyFrame = new KeyFrame(duration, eventHandler); diff --git a/src/main/java/controller/ControllerMenu.java b/src/main/java/controller/ControllerMenu.java new file mode 100644 index 0000000..ca173c1 --- /dev/null +++ b/src/main/java/controller/ControllerMenu.java @@ -0,0 +1,63 @@ +package controller; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.stage.Stage; + +import java.net.URL; + +public class ControllerMenu { + @FXML + private Button FireFighter; + @FXML + private Button Virus; + + + @FXML + public void exit() { + System.exit(0); + } + + public void FireFighter() { + try { + FXMLLoader loader = new FXMLLoader(); + URL location = getClass().getResource("/view/putElementCount.fxml"); + loader.setLocation(location); + Parent parent = loader.load(); + + + Stage stage = new Stage(); + stage.setTitle("Put Element Count"); + stage.setScene(new Scene(parent)); + Stage currentStage = (Stage) FireFighter.getScene().getWindow(); + currentStage.close(); + stage.show(); + } catch (Exception e) { + e.printStackTrace(); + + } + } + + public void Virus() { + try { + FXMLLoader loader = new FXMLLoader(); + URL location = getClass().getResource("/view/virusElementCount.fxml"); + loader.setLocation(location); + Parent parent = loader.load(); + + + Stage stage = new Stage(); + stage.setTitle("Put Element Count"); + stage.setScene(new Scene(parent)); + Stage currentStage = (Stage) Virus.getScene().getWindow(); + currentStage.close(); + stage.show(); + } catch (Exception e) { + e.printStackTrace(); + + } + } + +} diff --git a/src/main/java/controller/ControllerPutElementCount.java b/src/main/java/controller/ControllerPutElementCount.java new file mode 100644 index 0000000..1dc0b3e --- /dev/null +++ b/src/main/java/controller/ControllerPutElementCount.java @@ -0,0 +1,102 @@ +package controller; + +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.TextField; +import javafx.stage.Stage; +import model.Element.*; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; + +public class ControllerPutElementCount { + private static final int ROW_COUNT = 20; + private static final int COLUMN_COUNT = 20; + private static final int SQUARE_WIDTH = 40; + private static final int SQUARE_HEIGHT = 40; + + @FXML + private TextField fire; + + @FXML + private TextField firefighter; + + @FXML + private TextField cloud; + + @FXML + private TextField motorisedFireFighter; + + @FXML + private TextField mountain; + + @FXML + private TextField road; + + @FXML + private TextField rockerie; + + @FXML + private Button button; + + + @FXML + private void initialize() { + Map<ModelElement, Integer> INITIAL_ELEMENTS_COUNT = new HashMap<>(); + + int fireCount = parseIntOrDefault(fire.getText()); + int firefighterCount = parseIntOrDefault(firefighter.getText()); + int cloudCount = parseIntOrDefault(cloud.getText()); + int motorisedFirefighterCount = parseIntOrDefault(motorisedFireFighter.getText()); + int mountainCount = parseIntOrDefault(mountain.getText()); + int roadCount = parseIntOrDefault(road.getText()); + int rockerieCount = parseIntOrDefault(rockerie.getText()); + + INITIAL_ELEMENTS_COUNT.put(new Fire(), fireCount); + INITIAL_ELEMENTS_COUNT.put(new FireFigther(), firefighterCount); + INITIAL_ELEMENTS_COUNT.put(new Cloud(), cloudCount); + INITIAL_ELEMENTS_COUNT.put(new MotorisedFirefigther(), motorisedFirefighterCount); + INITIAL_ELEMENTS_COUNT.put(new Mountain(), mountainCount); + INITIAL_ELEMENTS_COUNT.put(new Road(), roadCount); + INITIAL_ELEMENTS_COUNT.put(new Rockerie(), rockerieCount); + + loadScene(INITIAL_ELEMENTS_COUNT); + } + + private int parseIntOrDefault(String input) { + try { + return input.isEmpty() ? 0 : Integer.parseInt(input); + } catch (NumberFormatException e) { + return 0; + } + } + + + + @FXML + private void loadScene(Map<ModelElement, Integer> initialElementCount) { + try { + FXMLLoader loader = new FXMLLoader(); + URL location = getClass().getResource("/view/viewBord.fxml"); + loader.setLocation(location); + Parent parent = loader.load(); + ControllerBord controller = loader.getController(); + controller.initialize(SQUARE_WIDTH, SQUARE_HEIGHT, COLUMN_COUNT, ROW_COUNT, initialElementCount); + + Stage currentStage = (Stage) fire.getScene().getWindow(); + currentStage.close(); + + Stage newStage = new Stage(); + newStage.setTitle("Fire Fighter"); + newStage.setScene(new Scene(parent)); + newStage.show(); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/src/main/java/controller/ControllerVirusElementCount.java b/src/main/java/controller/ControllerVirusElementCount.java new file mode 100644 index 0000000..3ca4222 --- /dev/null +++ b/src/main/java/controller/ControllerVirusElementCount.java @@ -0,0 +1,64 @@ +package controller; + +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.TextField; +import javafx.stage.Stage; +import model.Element.*; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; + +public class ControllerVirusElementCount { + private static final int ROW_COUNT = 20; + private static final int COLUMN_COUNT = 20; + private static final int SQUARE_WIDTH = 40; + private static final int SQUARE_HEIGHT = 40; + + @FXML + private TextField doctorsTextField; + @FXML + private TextField virusesTextField; + @FXML + private TextField humansTextField; + @FXML + private Button button; + + + @FXML + private void validate() { + Map<ModelElement, Integer> INITIAL_ELEMENTS_COUNT = new HashMap<>(); + INITIAL_ELEMENTS_COUNT.put(new Doctor(), Integer.parseInt(doctorsTextField.getText())); + INITIAL_ELEMENTS_COUNT.put(new Virus(), Integer.parseInt(virusesTextField.getText())); + INITIAL_ELEMENTS_COUNT.put(new Humain(), Integer.parseInt(humansTextField.getText())); + + loadScene(INITIAL_ELEMENTS_COUNT); + } + + + @FXML + private void loadScene(Map<ModelElement, Integer> initialElementCount) { + try { + FXMLLoader loader = new FXMLLoader(); + URL location = getClass().getResource("/view/virusBoard.fxml"); + loader.setLocation(location); + Parent parent = loader.load(); + ControllerBord controller = loader.getController(); + controller.initialize(SQUARE_WIDTH, SQUARE_HEIGHT, COLUMN_COUNT, ROW_COUNT,initialElementCount); + + Stage currentStage = (Stage) doctorsTextField.getScene().getWindow(); + currentStage.close(); + + Stage stage = new Stage(); + stage.setTitle("Virus"); + stage.setScene(new Scene(parent)); + stage.show(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/controller/fireFigther/PersistentToggleGroup.java b/src/main/java/controller/PersistentToggleGroup.java similarity index 96% rename from src/main/java/controller/fireFigther/PersistentToggleGroup.java rename to src/main/java/controller/PersistentToggleGroup.java index 30ba8b2..7c2c4b5 100644 --- a/src/main/java/controller/fireFigther/PersistentToggleGroup.java +++ b/src/main/java/controller/PersistentToggleGroup.java @@ -1,4 +1,4 @@ -package controller.fireFigther; +package controller; import javafx.collections.ListChangeListener.Change; import javafx.scene.control.Toggle; diff --git a/src/main/java/controller/SettingsController.java b/src/main/java/controller/SettingsController.java deleted file mode 100644 index 1f60197..0000000 --- a/src/main/java/controller/SettingsController.java +++ /dev/null @@ -1,21 +0,0 @@ -package controller; - -import javafx.fxml.FXML; -import javafx.scene.control.Spinner; - -public class SettingsController { - - @FXML - private Spinner<Integer> rowCountSpinner; - - @FXML - private Spinner<Integer> columnCountSpinner; - - public int getRowCount() { - return rowCountSpinner.getValue(); - } - - public int getColumnCount() { - return columnCountSpinner.getValue(); - } -} diff --git a/src/main/java/controller/controllerMenu.java b/src/main/java/controller/controllerMenu.java deleted file mode 100644 index e496355..0000000 --- a/src/main/java/controller/controllerMenu.java +++ /dev/null @@ -1,31 +0,0 @@ -package controller; - -import javafx.event.ActionEvent; -import javafx.fxml.FXML; -import javafx.scene.control.Button; - - -public class controllerMenu { - @FXML - private Button fireFighter; - - - @FXML - public void exit(ActionEvent actionEvent) { - System.exit(0); - - } - public void FireFighter(ActionEvent actionEvent){ - - - - } - public void Virus(ActionEvent actionEvent){ - - } - public void Settings(ActionEvent actionEvent){ - - - } - -} diff --git a/src/main/java/controller/fireFigther/ControllerPutElementCountController.java b/src/main/java/controller/fireFigther/ControllerPutElementCountController.java deleted file mode 100644 index a309dce..0000000 --- a/src/main/java/controller/fireFigther/ControllerPutElementCountController.java +++ /dev/null @@ -1,62 +0,0 @@ -package controller.fireFigther; - -import javafx.event.ActionEvent; -import javafx.fxml.FXML; -import javafx.scene.control.Button; -import javafx.scene.control.Label; -import javafx.scene.control.Spinner; -import javafx.scene.image.ImageView; - -public class ControllerPutElementCountController { - - @FXML - private Spinner<Integer> fire; - - @FXML - private Spinner<Integer> firefighter; - - @FXML - private Spinner<Integer> cloud; - - @FXML - private Spinner<Integer> motorisedFireFighter; - - @FXML - private Spinner<Integer> mountain; - - @FXML - private Spinner<Integer> road; - - @FXML - private Spinner<Integer> rockerie; - - @FXML - private Button button; - - @FXML - private Label cloudLabel; - - @FXML - private Label motorisedFireFighterLabel; - - @FXML - private Label mountainLabel; - - @FXML - private Label roadLabel; - - @FXML - private Label rockerieLabel; - - @FXML - private ImageView imageView; - - @FXML - private void initialize() { - } - - @FXML - private void handleButtonClick(ActionEvent event) { - System.out.println("Button clicked!"); - } -} diff --git a/src/main/java/model/Element/Doctor.java b/src/main/java/model/Element/Doctor.java index cce6d07..c2d4a08 100644 --- a/src/main/java/model/Element/Doctor.java +++ b/src/main/java/model/Element/Doctor.java @@ -16,6 +16,7 @@ public class Doctor implements ModelElement { removeElement(position, board, new Doctor()); addElement(newPositionStep, board, new Doctor()); extinguishneighbor(newPositionStep,board,new Virus(),rowCount,columnCount); + } } diff --git a/src/main/java/model/Element/Virus.java b/src/main/java/model/Element/Virus.java index d125bff..960c038 100644 --- a/src/main/java/model/Element/Virus.java +++ b/src/main/java/model/Element/Virus.java @@ -9,17 +9,25 @@ import java.util.Random; import static util.Tools.*; -public class Virus implements ModelElement{ +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()); + + if (board.containsKey(randomNeighbor)) { + List<ModelElement> elementsAtRandomNeighbor = board.get(randomNeighbor); + + if (elementsAtRandomNeighbor.contains(new Humain())) { + removeElement(randomNeighbor, board, new Humain()); + addElement(randomNeighbor, board, new Virus()); + } } + addElement(randomNeighbor, board, new Virus()); } diff --git a/build/resources/main/view/fireFigtherView/DarkTheme.css b/src/main/resources/view/DarkTheme.css similarity index 100% rename from build/resources/main/view/fireFigtherView/DarkTheme.css rename to src/main/resources/view/DarkTheme.css diff --git a/src/main/resources/view/Settings.fxml b/src/main/resources/view/Settings.fxml deleted file mode 100644 index 71254c0..0000000 --- a/src/main/resources/view/Settings.fxml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.Label?> -<?import javafx.scene.control.Spinner?> -<?import javafx.scene.layout.GridPane?> - -<GridPane xmlns:fx="http://javafx.com/fxml" - 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 --> - <Label text="Row Count:" GridPane.columnIndex="0" GridPane.rowIndex="1"/> - <Spinner fx:id="rowCountSpinner" value="10" min="1" max="100" GridPane.columnIndex="1" GridPane.rowIndex="1"/> - - <!-- Column Count --> - <Label text="Column Count:" GridPane.columnIndex="0" GridPane.rowIndex="2"/> - <Spinner fx:id="columnCountSpinner" value="10" min="1" max="100" GridPane.columnIndex="1" GridPane.rowIndex="2"/> -</GridPane> diff --git a/src/main/resources/view/fireFigtherView/DarkTheme.css b/src/main/resources/view/fireFigtherView/DarkTheme.css deleted file mode 100644 index 46b78aa..0000000 --- a/src/main/resources/view/fireFigtherView/DarkTheme.css +++ /dev/null @@ -1,142 +0,0 @@ -.background { - -fx-background-color: #1d1d1d; -} - -.label { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: white; - -fx-opacity: 0.6; -} - -.label-bright { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.label-header { - -fx-font-size: 32pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.table-view { - -fx-base: #1d1d1d; - -fx-control-inner-background: #1d1d1d; - -fx-background-color: #1d1d1d; - -fx-table-cell-border-color: transparent; - -fx-table-header-border-color: transparent; - -fx-padding: 5; -} - -.table-view .column-header-background { - -fx-background-color: transparent; -} - -.table-view .column-header, .table-view .filler { - -fx-border-width: 0 0 1 0; - -fx-background-color: transparent; - -fx-border-color: - transparent - transparent - derive(-fx-base, 80%) - transparent; - -fx-border-insets: 0 10 1 0; -} - -.table-view .column-header .label { - -fx-font-size: 20pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-alignment: center-left; - -fx-opacity: 1; -} - -.table-view:focused .table-row-cell:filled:focused:selected { - -fx-background-color: -fx-focus-color; -} - -.split-pane:horizontal > .split-pane-divider { - -fx-border-color: transparent #1d1d1d transparent #1d1d1d; - -fx-background-color: transparent, derive(#1d1d1d,20%); -} - -.split-pane { - -fx-padding: 1 0 0 0; -} - -.menu-bar { - -fx-background-color: derive(#1d1d1d,20%); -} - -.context-menu { - -fx-background-color: derive(#1d1d1d,50%); -} - -.menu-bar .label { - -fx-font-size: 14pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-opacity: 0.9; -} - -.menu .left-container { - -fx-background-color: black; -} - -.text-field { - -fx-font-size: 12pt; - -fx-font-family: "Segoe UI Semibold"; -} - -/* - * Metro style Push Button - * Author: Pedro Duque Vieira - * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ - */ -.button { - -fx-padding: 5 22 5 22; - -fx-border-color: #e2e2e2; - -fx-border-width: 2; - -fx-background-radius: 0; - -fx-background-color: #1d1d1d; - -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; - -fx-font-size: 11pt; - -fx-text-fill: #d8d8d8; - -fx-background-insets: 0 0 0 0, 0, 1, 2; -} - -.button:hover { - -fx-background-color: #3a3a3a; -} - -.button:pressed, .button:default:hover:pressed { - -fx-background-color: white; - -fx-text-fill: #1d1d1d; -} - -.button:focused { - -fx-border-color: white, white; - -fx-border-width: 1, 1; - -fx-border-style: solid; - -fx-border-radius: 0, 0; - -fx-border-insets: 1 1 1 1, 0; -} - -.button:disabled, .button:default:disabled { - -fx-opacity: 0.4; - -fx-background-color: #1d1d1d; - -fx-text-fill: white; -} - -.button:default { - -fx-background-color: -fx-focus-color; - -fx-text-fill: #ffffff; -} - -.button:default:hover { - -fx-background-color: derive(-fx-focus-color,30%); -} \ No newline at end of file diff --git a/src/main/resources/view/fireFigtherView/fireFigtherBord.fxml b/src/main/resources/view/fireFigtherView/fireFigtherBord.fxml deleted file mode 100644 index 7e1c179..0000000 --- a/src/main/resources/view/fireFigtherView/fireFigtherBord.fxml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.Button?> -<?import javafx.scene.layout.HBox?> -<?import javafx.scene.layout.VBox?> -<?import view.FirefighterGrid?> - -<?import javafx.scene.control.ToggleButton?> -<?import javafx.scene.control.Separator?> -<?import javafx.scene.control.Label?> -<HBox styleClass="background" stylesheets="@DarkTheme.css" - xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" - fx:controller="controller.fireFigther.ControllerFireFigtherBord"> - <VBox> - <Separator maxHeight="-Infinity" maxWidth="-Infinity" - prefHeight="24.0" prefWidth="200.0"/> - <Label maxHeight="-Infinity" maxWidth="-Infinity" alignment="CENTER" prefHeight="24.0" prefWidth="200.0" - text="Generation number"/> - <Label fx:id="generationNumberLabel" alignment="CENTER" contentDisplay="TEXT_ONLY" - maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> - <Separator maxHeight="-Infinity" maxWidth="-Infinity" - prefHeight="24.0" prefWidth="200.0"/> - <Button fx:id="restartButton" maxHeight="-Infinity" maxWidth="-Infinity" - mnemonicParsing="false" onAction="#restartButtonAction" prefHeight="24.0" prefWidth="200.0" - text="Restart"/> - <Button fx:id="oneStepButton" maxHeight="-Infinity" maxWidth="-Infinity" - mnemonicParsing="false" onAction="#oneStepButtonAction" prefHeight="24.0" prefWidth="200.0" - text="One step"/> - <ToggleButton fx:id="playToggleButton" maxHeight="-Infinity" maxWidth="-Infinity" - mnemonicParsing="false" onAction="#playToggleButtonAction" prefHeight="24.0" - prefWidth="200.0" styleClass="button" text="Play"/> - <ToggleButton fx:id="pauseToggleButton" maxHeight="-Infinity" maxWidth="-Infinity" - mnemonicParsing="false" onAction="#pauseToggleButtonAction" prefHeight="24.0" - prefWidth="200.0" styleClass="button" text="Pause"/> - </VBox> - <FirefighterGrid fx:id="grid" width="1000.0" height="1000.0" - xmlns="http://javafx.com/javafx" - xmlns:fx="http://javafx.com/fxml"> - </FirefighterGrid> -</HBox> diff --git a/src/main/resources/view/fireFigtherView/putElementCount.fxml b/src/main/resources/view/fireFigtherView/putElementCount.fxml deleted file mode 100644 index 3d8003d..0000000 --- a/src/main/resources/view/fireFigtherView/putElementCount.fxml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.*?> -<?import javafx.scene.image.*?> -<?import javafx.scene.layout.*?> - -<AnchorPane fx:id="putElementCount" fx:controller="controller.fireFigther.ControllerPutElementCountController" 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" value="10" min="1" max="100" /> - <Label layoutX="265.0" layoutY="14.0" text="Fire" /> - <Label layoutX="245.0" layoutY="64.0" text="Fire Fighter" /> - <Spinner fx:id="firefighter" layoutX="106.0" layoutY="82.0" prefHeight="25.0" prefWidth="363.0" value="10" min="1" max="100"/> - <Spinner fx:id="Cloud" layoutX="102.0" layoutY="134.0" prefHeight="25.0" prefWidth="363.0" value="10" min="1" max="100" /> - <Spinner fx:id="MotorisedFireFighter" layoutX="106.0" layoutY="186.0" prefHeight="25.0" prefWidth="363.0" value="10" min="1" max="100" /> - <Spinner fx:id="Mountain" layoutX="102.0" layoutY="234.0" prefHeight="25.0" prefWidth="363.0" value="10" min="1" max="100"/> - <Spinner fx:id="Road" layoutX="101.0" layoutY="286.0" prefHeight="25.0" prefWidth="355.0" value="10" min="1" max="100"/> - <Spinner fx:id="Rockerie" layoutX="100.0" layoutY="335.0" prefHeight="25.0" prefWidth="355.0" value="10" min="1" max="100"/> - <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 e974135..801d37f 100644 --- a/src/main/resources/view/menu.fxml +++ b/src/main/resources/view/menu.fxml @@ -3,11 +3,10 @@ <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> -<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"> +<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 fx:id="FireFighter" layoutX="36.0" layoutY="119.0" mnemonicParsing="false" onAction="#FireFighter" prefHeight="106.0" prefWidth="259.0" text="firefiter" /> + <Button fx:id="FireFighter" layoutX="36.0" layoutY="119.0" mnemonicParsing="false" onAction="#FireFighter" prefHeight="106.0" prefWidth="259.0" text="FireFighter" /> <Button fx:id="Virus" layoutX="321.0" layoutY="119.0" mnemonicParsing="false" onAction="#Virus" prefHeight="106.0" prefWidth="259.0" text="virus" /> - <Button fx:id="Settings" layoutX="541.0" layoutY="14.0" mnemonicParsing="false" onAction="#Settings" prefHeight="41.0" prefWidth="45.0" text="setting" /> - <Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" onAction="#exit" prefHeight="35.0" prefWidth="96.0" text="exit" /> + <Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="96.0" text="exit" onAction="#exit" /> </children> </AnchorPane> diff --git a/src/main/resources/view/putElementCount.fxml b/src/main/resources/view/putElementCount.fxml new file mode 100644 index 0000000..8d5b2e6 --- /dev/null +++ b/src/main/resources/view/putElementCount.fxml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.*?> +<?import javafx.scene.layout.*?> + +<AnchorPane xmlns="http://javafx.com/javafx" + xmlns:fx="http://javafx.com/fxml" + fx:controller="controller.ControllerPutElementCount" + prefHeight="400.0" prefWidth="600.0"> + + <VBox alignment="CENTER" spacing="20"> + + <Label text="Enter the Number of Elements" /> + + <HBox spacing="10"> + <Label text="Fire:" /> + <TextField fx:id="fire" text="3" /> + </HBox> + + <HBox spacing="10"> + <Label text="FireFighter:" /> + <TextField fx:id="firefighter" text="5" /> + </HBox> + + <HBox spacing="10"> + <Label text="Motorised FireFighter:" /> + <TextField fx:id="motorisedFireFighter" text="7" /> + </HBox> + + <HBox spacing="10"> + <Label text="Mountain:" /> + <TextField fx:id="mountain" text="5"/> + </HBox> + + <HBox spacing="10"> + <Label text="Cloud:" /> + <TextField fx:id="cloud" text="5" /> + </HBox> + + <HBox spacing="10"> + <Label text="Road:" /> + <TextField fx:id="road" text="5" /> + </HBox> + + <HBox spacing="10"> + <Label text="Rockerie:" /> + <TextField fx:id="rockerie" text="5" /> + </HBox> + + <Button text="Validate" onAction="#initialize" /> + + </VBox> + +</AnchorPane> diff --git a/src/main/resources/view/viewBord.fxml b/src/main/resources/view/viewBord.fxml new file mode 100644 index 0000000..4cb6ca2 --- /dev/null +++ b/src/main/resources/view/viewBord.fxml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.Button?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.VBox?> +<?import view.FirefighterGrid?> + +<?import javafx.scene.control.ToggleButton?> +<?import javafx.scene.control.Separator?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.StackPane?> +<?import javafx.scene.shape.Rectangle?> + +<HBox styleClass="background" stylesheets="@DarkTheme.css" + xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" + fx:controller="controller.ControllerBord"> + <VBox spacing="5"> <!-- Added spacing to VBox --> + <Separator maxHeight="-Infinity" maxWidth="-Infinity" + prefHeight="24.0" prefWidth="200.0"/> + <Label maxHeight="-Infinity" maxWidth="-Infinity" alignment="CENTER" prefHeight="24.0" prefWidth="200.0" + text="Generation number"/> + <Label fx:id="generationNumberLabel" alignment="CENTER" contentDisplay="TEXT_ONLY" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Separator maxHeight="-Infinity" maxWidth="-Infinity" + prefHeight="24.0" prefWidth="200.0"/> + <Button fx:id="restartButton" maxHeight="-Infinity" maxWidth="-Infinity" + mnemonicParsing="false" onAction="#restartButtonAction" prefHeight="24.0" prefWidth="200.0" + text="Restart"/> + <Button fx:id="oneStepButton" maxHeight="-Infinity" maxWidth="-Infinity" + mnemonicParsing="false" onAction="#oneStepButtonAction" prefHeight="24.0" prefWidth="200.0" + text="One step"/> + <ToggleButton fx:id="playToggleButton" maxHeight="-Infinity" maxWidth="-Infinity" + mnemonicParsing="false" onAction="#playToggleButtonAction" prefHeight="24.0" + prefWidth="200.0" styleClass="button" text="Play"/> + <ToggleButton fx:id="pauseToggleButton" maxHeight="-Infinity" maxWidth="-Infinity" + mnemonicParsing="false" onAction="#pauseToggleButtonAction" prefHeight="24.0" + prefWidth="200.0" styleClass="button" text="Pause"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="Légende :" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="rouge = fire" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="bleu = firefighter" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="gris = cloud" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="noir = road" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="orange = motorisedFireFighter" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="marron = mountain" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="gris clair = rockerie" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + </VBox> + <FirefighterGrid fx:id="grid" width="1000.0" height="1000.0" + xmlns="http://javafx.com/javafx" + xmlns:fx="http://javafx.com/fxml"> + </FirefighterGrid> +</HBox> diff --git a/src/main/resources/view/virusBoard.fxml b/src/main/resources/view/virusBoard.fxml new file mode 100644 index 0000000..6ddb080 --- /dev/null +++ b/src/main/resources/view/virusBoard.fxml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.Button?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.VBox?> +<?import view.FirefighterGrid?> + +<?import javafx.scene.control.ToggleButton?> +<?import javafx.scene.control.Separator?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.StackPane?> +<?import javafx.scene.shape.Rectangle?> + +<HBox styleClass="background" stylesheets="@DarkTheme.css" + xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" + fx:controller="controller.ControllerBord"> + <VBox spacing="5"> <!-- Added spacing to VBox --> + <Separator maxHeight="-Infinity" maxWidth="-Infinity" + prefHeight="24.0" prefWidth="200.0"/> + <Label maxHeight="-Infinity" maxWidth="-Infinity" alignment="CENTER" prefHeight="24.0" prefWidth="200.0" + text="Generation number"/> + <Label fx:id="generationNumberLabel" alignment="CENTER" contentDisplay="TEXT_ONLY" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Separator maxHeight="-Infinity" maxWidth="-Infinity" + prefHeight="24.0" prefWidth="200.0"/> + <Button fx:id="restartButton" maxHeight="-Infinity" maxWidth="-Infinity" + mnemonicParsing="false" onAction="#restartButtonAction" prefHeight="24.0" prefWidth="200.0" + text="Restart"/> + <Button fx:id="oneStepButton" maxHeight="-Infinity" maxWidth="-Infinity" + mnemonicParsing="false" onAction="#oneStepButtonAction" prefHeight="24.0" prefWidth="200.0" + text="One step"/> + <ToggleButton fx:id="playToggleButton" maxHeight="-Infinity" maxWidth="-Infinity" + mnemonicParsing="false" onAction="#playToggleButtonAction" prefHeight="24.0" + prefWidth="200.0" styleClass="button" text="Play"/> + <ToggleButton fx:id="pauseToggleButton" maxHeight="-Infinity" maxWidth="-Infinity" + mnemonicParsing="false" onAction="#pauseToggleButtonAction" prefHeight="24.0" + prefWidth="200.0" styleClass="button" text="Pause"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="Légende :" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="mauve = virus" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="bleu clair = doctor" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + <Label alignment="CENTER" contentDisplay="TEXT_ONLY" text="noir = humain" + maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/> + </VBox> + <FirefighterGrid fx:id="grid" width="1000.0" height="1000.0" + xmlns="http://javafx.com/javafx" + xmlns:fx="http://javafx.com/fxml"> + </FirefighterGrid> +</HBox> diff --git a/src/main/resources/view/virusElementCount.fxml b/src/main/resources/view/virusElementCount.fxml new file mode 100644 index 0000000..651f3df --- /dev/null +++ b/src/main/resources/view/virusElementCount.fxml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.*?> +<?import javafx.scene.layout.*?> + +<AnchorPane xmlns="http://javafx.com/javafx" + xmlns:fx="http://javafx.com/fxml" + fx:controller="controller.ControllerVirusElementCount" + prefHeight="400.0" prefWidth="600.0"> + + <VBox alignment="CENTER" spacing="20"> + + <Label text="Enter the Number of Elements" /> + + <HBox spacing="10"> + <Label text="Doctors:" /> + <TextField fx:id="doctorsTextField" text="3"/> + </HBox> + + <HBox spacing="10"> + <Label text="Viruses:" /> + <TextField fx:id="virusesTextField" text="3" /> + </HBox> + + <HBox spacing="10"> + <Label text="Humans:" /> + <TextField fx:id="humansTextField" text="10" /> + </HBox> + + <Button text="Validate" onAction="#validate" /> + + </VBox> + +</AnchorPane> -- GitLab