From 81b0fd6a9b16d94ab2e501b1116612d66c3fa576 Mon Sep 17 00:00:00 2001 From: Yanis OUALAN <oualanyanis01@gmail.com> Date: Fri, 8 Nov 2024 14:20:02 +0100 Subject: [PATCH] Ajout des classes Fire et FireFighter --- .gradle/8.10.2/checksums/checksums.lock | Bin 17 -> 39 bytes .../executionHistory/executionHistory.bin | Bin 0 -> 40028 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 39 bytes .gradle/8.10.2/fileHashes/fileHashes.bin | Bin 18597 -> 20597 bytes .gradle/8.10.2/fileHashes/fileHashes.lock | Bin 17 -> 39 bytes .../8.10.2/fileHashes/resourceHashesCache.bin | Bin 0 -> 19449 bytes .../buildOutputCleanup.lock | Bin 17 -> 39 bytes .gradle/buildOutputCleanup/outputFiles.bin | Bin 0 -> 18893 bytes .gradle/file-system.probe | Bin 0 -> 8 bytes .gradle/nb-cache/subprojects.ser | Bin 1109 -> 1109 bytes bin/main/model/Entity.class | Bin 124 -> 137 bytes bin/main/model/Fire.class | Bin 249 -> 481 bytes bin/main/model/FireFighter.class | Bin 395 -> 498 bytes bin/main/model/FireFighterScenario.class | Bin 0 -> 1478 bytes bin/main/model/FirefighterBoard.class | Bin 2628 -> 2628 bytes .../java/main/app/SimulatorApplication.class | Bin 0 -> 3095 bytes .../classes/java/main/app/SimulatorMain.class | Bin 0 -> 438 bytes .../java/main/controller/Controller.class | Bin 0 -> 6744 bytes .../controller/PersistentToggleGroup.class | Bin 0 -> 2668 bytes build/classes/java/main/model/Board.class | Bin 0 -> 528 bytes build/classes/java/main/model/Entity.class | Bin 0 -> 137 bytes build/classes/java/main/model/Fire.class | Bin 0 -> 481 bytes .../classes/java/main/model/FireFighter.class | Bin 0 -> 498 bytes .../java/main/model/FireFighterScenario.class | Bin 0 -> 1543 bytes .../java/main/model/FirefighterBoard$1.class | Bin 0 -> 672 bytes .../java/main/model/FirefighterBoard.class | Bin 0 -> 6638 bytes .../java/main/model/ModelElement.class | Bin 0 -> 1033 bytes .../java/main/model/TargetStrategy.class | Bin 0 -> 2217 bytes build/classes/java/main/module-info.class | Bin 0 -> 337 bytes build/classes/java/main/util/Position.class | Bin 0 -> 1399 bytes .../java/main/view/FirefighterGrid.class | Bin 0 -> 3994 bytes build/classes/java/main/view/Grid.class | Bin 0 -> 401 bytes .../classes/java/main/view/ViewElement.class | Bin 0 -> 1328 bytes build/resources/main/view/DarkTheme.css | 142 ++++++++++++++++++ build/resources/main/view/view.fxml | 40 +++++ .../compileJava/previous-compilation-data.bin | Bin 0 -> 21123 bytes build/tmp/jar/MANIFEST.MF | 2 - build/tmp/shadowJar/MANIFEST.MF | 2 - src/main/java/model/Entity.java | 2 +- src/main/java/model/Fire.java | 10 +- src/main/java/model/FireFighter.java | 7 +- src/main/java/model/FireFighterScenario.java | 71 +++++++++ src/main/java/model/FirefighterBoard.java | 6 +- 43 files changed, 271 insertions(+), 11 deletions(-) create mode 100644 .gradle/8.10.2/executionHistory/executionHistory.bin create mode 100644 .gradle/8.10.2/fileHashes/resourceHashesCache.bin create mode 100644 .gradle/buildOutputCleanup/outputFiles.bin create mode 100644 .gradle/file-system.probe create mode 100644 bin/main/model/FireFighterScenario.class create mode 100644 build/classes/java/main/app/SimulatorApplication.class create mode 100644 build/classes/java/main/app/SimulatorMain.class create mode 100644 build/classes/java/main/controller/Controller.class create mode 100644 build/classes/java/main/controller/PersistentToggleGroup.class create mode 100644 build/classes/java/main/model/Board.class create mode 100644 build/classes/java/main/model/Entity.class create mode 100644 build/classes/java/main/model/Fire.class create mode 100644 build/classes/java/main/model/FireFighter.class create mode 100644 build/classes/java/main/model/FireFighterScenario.class create mode 100644 build/classes/java/main/model/FirefighterBoard$1.class create mode 100644 build/classes/java/main/model/FirefighterBoard.class create mode 100644 build/classes/java/main/model/ModelElement.class create mode 100644 build/classes/java/main/model/TargetStrategy.class create mode 100644 build/classes/java/main/module-info.class create mode 100644 build/classes/java/main/util/Position.class create mode 100644 build/classes/java/main/view/FirefighterGrid.class create mode 100644 build/classes/java/main/view/Grid.class create mode 100644 build/classes/java/main/view/ViewElement.class create mode 100644 build/resources/main/view/DarkTheme.css create mode 100644 build/resources/main/view/view.fxml create mode 100644 build/tmp/compileJava/previous-compilation-data.bin delete mode 100644 build/tmp/jar/MANIFEST.MF delete mode 100644 build/tmp/shadowJar/MANIFEST.MF create mode 100644 src/main/java/model/FireFighterScenario.java diff --git a/.gradle/8.10.2/checksums/checksums.lock b/.gradle/8.10.2/checksums/checksums.lock index 4eca5d3a794812e1e6f8dc6e90a74f63fa79c003..019634f8408e4ed8133eded8b44a3af7122071e8 100644 GIT binary patch literal 39 pcmZQRm=WHgbZ2HQ0~9bbF#NFL3HIK(eAR|246KIcre=l=3;^7!3RnOD literal 17 TcmZQRm=WHgbZ2HQ0~7!NGl2vk diff --git a/.gradle/8.10.2/executionHistory/executionHistory.bin b/.gradle/8.10.2/executionHistory/executionHistory.bin new file mode 100644 index 0000000000000000000000000000000000000000..086beff33bd4053c76b8605fffa17b292500b191 GIT binary patch literal 40028 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 literal 0 HcmV?d00001 diff --git a/.gradle/8.10.2/executionHistory/executionHistory.lock b/.gradle/8.10.2/executionHistory/executionHistory.lock index 0e18f858e4f9f10cef55cf4d1f628e4323051487..37bf67715ebc63b9d76457cf41ecda787e7d4f46 100644 GIT binary patch literal 39 rcmZSHuu}2hpMtsR3=qJ}%)s!&=G^Snr}wMwoXx;$Xl`m|$iM&q1$PV+ literal 17 TcmZSHuu}2hpMtsR3{U_7J0}FM diff --git a/.gradle/8.10.2/fileHashes/fileHashes.bin b/.gradle/8.10.2/fileHashes/fileHashes.bin index 5cdee5afdbd9d5f9eee4eee1b878c47a4a27378f..0c6fa27f591e9ba2b4fcb9dca24021278d30652c 100644 GIT binary patch literal 20597 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 QJP;iQPa$@&v4eB~0G}5ml>h($ delta 44 vcmeymfN|+W#tkMCj7*b#B_t+`N=fkihXMu$2FHzxKg2g0+z_Aa=#c^dqTLfM diff --git a/.gradle/8.10.2/fileHashes/fileHashes.lock b/.gradle/8.10.2/fileHashes/fileHashes.lock index da2f32fd095dd74f762be60cc39c1d21fc874150..2904c06868f99b6ad2fc8e5c2a1485fff8f439b9 100644 GIT binary patch literal 39 qcmZRc@@Ac$x5g@Y1_)Tr%)s!&MtbVCa=(7_TMVp*=B8$b3=9C?V+w8n literal 17 UcmZRc@@Ac$x5g@Y1_)pS05C5Dq5uE@ diff --git a/.gradle/8.10.2/fileHashes/resourceHashesCache.bin b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..0ce506ece3e538dc51acf5d91ab9dcf8998a4317 GIT binary patch literal 19449 zcmZ=^V2}{_4+RVeAc|m)vPMH-Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nhD!*9GB7Z3K|CX&!vtdRmoqRJ@Gvki$aL)4xNpXk zAX$(o1B0hNbo$_b_sWEZ^z_}<5OFVAnE12>rlra$#<wBj-dkbfGc;1{7CEnY1`+o- z2@_xP-{Sw2uN?~^;$F=#@l|Y6Z(neiL+$lQhKa9LKbKZ($+-xk-g7EUeB<1o%RY;D zeTIq$!o`<#K6XC5rV=9VJsBpxoi}?^L5kH4sCXev{OG*z0(&{WSwO_Sj>E(+Jm;F| zwC4;sbQl=Cbz$O{RZoWe+g4}~RsRwu{#O5!(Bq)HVi0j}f0+1B9+lU(!yG3=#628g z;{OFQs{^CnRY1hO5@F(kwcR_P34Ydrird4))tXM#F11wgf{1(a!o+oF#UBk>D^ms$ z_h^NQdmNuyvDiRsB1GJCJ51b1^@QqcvvuVVagWz9aX;nSUsI2ps6fQMmcqmX4Ev1^ zGPHbyh<kIx!~>u15s^%qVhR!W{0$QivOH4DcxQz_MBHOJOgv}nX2$hKCssqmJ&R%D zxf9KMmMTR>K*YVT!^HFSUfJZB^=^cSd)|bJ!)OKuCa4@l#V9!%0;3@?8UmvsFd71* zAut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@? z8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UiCZ1dJIN7$g}O z7z9CBU`^2BKWB};+;CYG=n%@AKAnMqK@L@gR@8aUBQEL+AGbO3-!;@p$5e6EeS(ft zezon{Ms}UxyM>@l2xw-=%5R%%w{U{Mq-nv2&pvtNh-pUFtst>K`bz8j3q&5ZpI=dj zsbZ;1Tu#jK0%;?e9K}u9FZW`qP|fX2IDCBFv@{ErFFaSX)G$?emHnBq^`Gabm&<pm z&H2|j2~&k_dhNMueoG%RaV(gBYW|F?m?~~3eazncYU9HrsqVUb)oqV3RV+U7d8?Gz z#&d~U%NmUAY(cvj(85Du%PB+W?_!&)9&p~4iur*hOcjgUXV$EC=;>JYDJm^AQ5(~i zDkF=;n2@}}FCCu$g@wDhF;xhu{F-*wKycUVNB{0gwYG#{s<_wjIP2WDZRc%+9vwJq z_;nekiiZo^o0q5V;xy!nX}`Zm1GFOn%`Ypq{<`>CF7@KlL-sj6xl=)V8PHUi_21jG zMCJ04{e~MHu9iH0fN4w2*Ht-txPF~ZZFzN9X5(WlA?B0Exb`OVnGlhk3$CoqdIj2X zfM!ec=LrE1zrD&>?5&{ORu}XS(-w=w826B#4AZ~+ih_J>&)>yV@rrlyi>i87C!WnV zA78|Xx?rmK`TXg+@+LX!`8NbN3m(bL#8fe3=b@C>Gh>7I@_)MDE^Nz!sUkOcottu- mK%-3|&&4?k7NFf0Xnr{<vEj(h)oY_qMSN1O-+pKo$P555>upB> literal 0 HcmV?d00001 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 61729ed18e737ad83e00df574edf82524e9931f8..0bfed23eaadfbb45b6a63be501574a861e66fb85 100644 GIT binary patch literal 39 qcmZR6vDe@Cw5a101_<zHW?=YXV^k{onqxtJF$1fixv7~U0|Nlq(FwW$ literal 17 UcmZR6vDe@Cw5a101_)pT05m)U`v3p{ diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000000000000000000000000000000000000..20d9066808c5305806c2504d5b318e01d8be2bd9 GIT binary patch literal 18893 zcmZ=^V2}{_4+RVeAc|m)vPMH-Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nhD!*9GB7Z3K|CX&!vtdRmoqRJ@Gvkii1ppM#Pn)M z))$Z{1A}KVbo$``)Se?VimP5dgNjdwi7yqp<bLV#F-3^D$77iIGEpD7?FPa*5OL2$ znE2|7jI4(G;^k2Bl`!#LdTZNUPj&x=h<mJsi60fQTap$vVKPMAb2m)<{-cc=(lMRW zA>tmvF!A?i+Nb?KayS|)-U$<D3`lvaviaR%h`6UDOk7H4vDfw6KOaNHJ<4I?GF>|- z1z&yo87e*-CN5Xdxw={TJ=8rOsW5Tn%PVA-{dsv8s{SiX-1=XB<C~p-t)b$MFmbOK zyREbOH!gsPd$PmCLsiyKEK}Pw11jzh6A#<ilkJy&@+w5!V?Rth(nWcL)N<ikh`6UV zOg#U&k`(W<%5123D@?rb<?f3+p3LKhh<jXwiC5i<H<%x4)C>{#w1tVoXa)u*MTp!e zIT`|^Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF z0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71* rAut*OqaiTZLco}Tfq|2Ofq@Z<8Te2{K*EDb1QdL<aSwSWQ&krL9N9Nc literal 0 HcmV?d00001 diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe new file mode 100644 index 0000000000000000000000000000000000000000..a14d5937785bd33f267390cd163c0ddd5a9ca8d8 GIT binary patch literal 8 PcmZQzV4TdIx~B>N208*e literal 0 HcmV?d00001 diff --git a/.gradle/nb-cache/subprojects.ser b/.gradle/nb-cache/subprojects.ser index ac8428d82e8bd32bc9850b99b4a043bf40fe1716..deb16918888c39cfa616d28fc855bbe9a48ff614 100644 GIT binary patch delta 14 Wcmcc0ag}4jI_9jk6E<#K!VCa1EC#Fq delta 14 Wcmcc0ag}4jI%eOjij5nWFarQDR|Yfy diff --git a/bin/main/model/Entity.class b/bin/main/model/Entity.class index 27a4fd16e2afd9fd853d73b0e3cfb3464148e2a6..6372b0280b4c7957541ae3ff332d94cc1b324b80 100644 GIT binary patch delta 24 fcmb>FWSn5nFQDO*o1c=JqwkcTSd?Nt(a{<JU#bV$ delta 11 ScmeBVteIfX#H=yV&l&&|(gPg; diff --git a/bin/main/model/Fire.class b/bin/main/model/Fire.class index 7061a91acb8d803d36de367fc0fb99c167a9ebf7..c2ee41cf242a60ffc96ae714ce19fe7bc4f9b6d1 100644 GIT binary patch delta 365 zcmey#_>h_F)W2Q(7#J9w7^Ek1spYXVurV_5<mRWO=IFcTm1LGwGBR)!<QHd_Waj5F zGVuG9mSpDW2S5d^85!7YGV?M^>=+q@G|=QU!x$M@obyvsxfqxkczGB&8Tc3(m^C!R zI2jlj1b7(O88{{e*c)@?rB;-LlosVNG6-n+Kx}r(Pb^BY1{uJb1Y$BW@FL4h>`|;| zWME}rWMBfB!oa}5#K6eF$-u?H$iU6Oz~IKf#K6SBz`&)ooq<P7dn*I~Mz9(|1_lN` z24)5Z26hG(1`Y;J22KVc1_lN(h-wC51`!4j-~yY<$iT=T${+?c(-dq10|O((C_|80 bYz&NG6A@-G!p&f05ND8J0GS~P)+q%5vDG-` delta 135 zcmaFJ{F9OE)W2Q(7#J9w7z8GAsVOiru-RnhWtP}6GB9gshA}d*IOnINaxpM7aPly) zGO$gYXFpk(QO<{ffq{XMfe|Fcz{tSPz`&pn<})y`YHerW*vP=Zz{J4Cz`(%9z{tSB Zz|6qSz`(!*X0tNzFz|x4^MO_I0{}Xw54ivU diff --git a/bin/main/model/FireFighter.class b/bin/main/model/FireFighter.class index a05d361c0accfe5374f7e1a4c5f62ef779d3d029..f84bca8485e0acd0f50bab08d8fc12da9567b31a 100644 GIT binary patch delta 265 zcmeBX{>036>ff$?3=9lT4AK+1(oKXkd`e3)bMyo9i!)0y^Yg4V!x$M@obyvsxfqxk zczGB&8Tc3(m^C!RI2jlj1b7(O88{}k1*!^Y_~hoNq~_>5<tG-UfORn@F*5L?h)%rf zT<^xf#K6SBz`&)ooq<P7dn*I~Mg|53CI&$U1_nL`W(EcZb_Ny(4hBvJP6i<c1_m*R zY6f8j5e5+80@=vG$iT=T${@zT$iU6Oz+ehCfq{V$VH6t!BLf42Ad(S`U?W69W-u~{ NGf05VkOb?L0sw4FBcA{O delta 163 zcmeyw+|A5&>ff$?3=9lT45Aac(nXmyG{YDfSe)}yQn?tI8F+aZI2pJmE)AS4%jj6F z&%nsQ$iTqBs<oYgXCngx0}}%u0|NsaSdfK*pMima2h3(=5MU5wU|?Wm5MtnBU}WHC ZU|`S&^BEWz(KYfQX=H?J6b2hF0sxDf4^998 diff --git a/bin/main/model/FireFighterScenario.class b/bin/main/model/FireFighterScenario.class new file mode 100644 index 0000000000000000000000000000000000000000..07e44f4cca0fd9d2967b7a9c0764a97eaeefde20 GIT binary patch literal 1478 zcmX^0Z`VEs1_mbvV|E56Mh3~;{FKxjeYeb_RJY9ZjFQx%;N;Z2#G=f6b_Nzk27#=^ zvPAuy#JqHU|D>$c<PvrUHbw?+h$g4}#G({N1~!|_yv!0iMh0dL%`ip=7U%qwR4xW) z25ue(b_Nbc27aH+yi~u^+@#c^ki?{%R7M6NpZw&+oUp{AOb{O`$WoG#S<J{F?E^6! zi;Juo8935YOM*)hOHvsb<TZRsOEPox1M-VAOEUBGtTmxJUGqvZODe6|8H5=b<Pq-o z%*jbjPs{=9cCAQGEdXiaU=U?w5c5qf$;eMp$jdKL$jmLsNzF~oD@je^Vh~~w2l+vQ zkwH|$2VqihNl|8Ax;4nN90gF@LEc1l4kH6cG2F2V8mNv#cX}8j18XtFUwo)485uZ= z^2?p`OY=&=A?(S>z@40*Q<|Fx6%#8hNJ%V74axUQttfF%%}Xsx1o@1SK}bUr;%KnD zd@_qmtQi?NgEQ0f5=%;pQW+VPF%;OKxy#O)k%6@+wK%nek%6nYB((q%jUcUPDxp>( zr4(x}21W)g9tHshK}H4@<nV)}Bx`gN!q^#f85wvW(GQ74kP-Sk4AKlTj0{}C`K3k4 zscxB|6eNKqdFX*+h><}b;%Q`;KtmLqUTvTphy~Vm)(naaj10^Sj0~&{3=AL(*%>$( z7#TPj7#Q>!7#SED7#LW!wli>TWME)mV&Gw5U|<6avN7;7Ffj0d*{lqF4EziX42&S( zLN(hlFf%ZLjNHv26e%RKok46rnhAVh6T~2@peBHvAju#Fwpf}$25OcE12Y3NUb7^? zW+^~aA(<u1AP06K7X!#tCI&_Zc?JcjsU~1=Gca)BbfF^HREQtBpr$f1D3V};7FH9K z7?c^97*xRFp$ZOa!fr9eYLXf}vIv`CgVh9exNmg8q0Yd-#JmRVGDKXvBI#s;goA)1 zg8+jDG$hp+n82~frlq}&L30C|Zbq<fCI$upM+RvIZKxhCSe$BUA7IeY*~XxUp2Fbz P7?>Cgz-Agk!^{W(ok0>U literal 0 HcmV?d00001 diff --git a/bin/main/model/FirefighterBoard.class b/bin/main/model/FirefighterBoard.class index 56706c1c8393604e1bfd71daa2fce4f711927b3a..e6cc1c9aa30420361fc4aa1416f9e383e9776f54 100644 GIT binary patch delta 25 hcmX>iaztc9Cnsaw<StG}#^%XqI6WCVCyR0E0RVa;2zdYi delta 25 hcmX>iaztc9Cnsag<StG}#>UBKI6WELCyR0E0RVa62y*}c diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..0945559258306b09c37b530b8c44adfb1b4b4489 GIT binary patch literal 3095 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 WVIsp6hB@He#>g<2VLrn`21x)PmEv{) literal 0 HcmV?d00001 diff --git a/build/classes/java/main/app/SimulatorMain.class b/build/classes/java/main/app/SimulatorMain.class new file mode 100644 index 0000000000000000000000000000000000000000..1d13229f73ef27c233a432bc89aa3dffc086246a GIT binary patch literal 438 zcmX^0Z`VEs1_mbv2`&aE24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SE(Q(;PId+^9tLg(9!3U<#DW6-;LP08oWzp+BFBP)oXq6JlFa-(Mh2GL z#LPTK1~H9jAB35~B}JKe>DHQI><oO241y@SeZlHkobyvs85#I}GV@aXN^_G^i$W5U za#9%?gnaUo6LZ26i!wocs31#8MrJW1gRl>VN!E-EEQv+wAW19^U}WG5&Mz%WPIb!! zn+^8@$Ps!V_cACl@G>wlfB+K%BPehf7#a8(7#Q>!7#SED7#LW!wlgqpWME)mVh~_p zU|<6aGBXG=Ffj0d*{lpg48jZy44j~#f@(H~Yu>@Yj?fH>1O^6H1{MZ36az#UL>U+u L7#YOC)`$ZD3Y=Gv literal 0 HcmV?d00001 diff --git a/build/classes/java/main/controller/Controller.class b/build/classes/java/main/controller/Controller.class new file mode 100644 index 0000000000000000000000000000000000000000..02198abdf2c604ece2c32c166bd85717d737a8a8 GIT binary patch literal 6744 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 Q3|tJ1j3$g`j1~-%0C!o;NB{r; literal 0 HcmV?d00001 diff --git a/build/classes/java/main/controller/PersistentToggleGroup.class b/build/classes/java/main/controller/PersistentToggleGroup.class new file mode 100644 index 0000000000000000000000000000000000000000..314954a9fd4ab6d48da5fec7067063879e670d62 GIT binary patch literal 2668 zcmX^0Z`VEs1_mdFIxYq#24;2!79Ivx1~x_pg{;J~#Iy?i;^fr4RQ=@qypp2)9Q}~| z^z@um_oDpL0!9Wlo6Nk-5<5l)W)00SE(Q(;PId+^9tLg(9!3TQsE(Y}BK?5WqT<Zr zlGMBs6zyE;sZfDpMg~<4O&_R@$@w`ssmUdo`FX|q{z=8DMP-ReIjKIG#U<843=9l> zJPiB{0*nlt`FYM6iFxU%DU1x>8a{;Vv&L#Z$W(|aAXaK#YLPWJgAju-JA()hgD8U- zBZDGAS1~ehC#Iyp^fNMOX<+jSNFL25P@qXLNU}3X@i0g;$S^YKV6h8Rp9;hnMh2F= z)QS>t=tpreNHECpFvv3~Ff#C`r<ORTq@<<<mnMO9GcpK416RMaBr``JBxcRcpv0ie z&Y;4>pvs`e$iN4(86nNcz>!&!T9jClU&P2DhN9aODsIiqpuwQY&Y;D^pbc`n5W)nQ z5=I90jKpHU)QS?2T3wJQ^%xmMV8-Pn=B4ZVCuOB3msqni7%(zOgN(qD<k%UE5OIMm zO*)m9l;r1eGMF%!vNM?RFqkt~Ffz!Zn3$PYP+Fqzn_pU->ROhXSHj4^=j$ID>>3~B z>f`Dd?CQeEAOVZIRFDFFu(FWKf>diE21W)e9tLX$8%74UjKsW@oK!}JBqEX>%s||3 zMx;z6OFh6=6j^gI7&6%LFxWFVFf#BZrlf#f<d&IJl3K*bU<OZVNIJpJh1rTE4l@yy z>Npsjco>`+To@Sy(^E@=Q$hJHH3gD885!iEF@z&3thpH67~I(zJa`y98N3)71VDkT zj})7X3~Z@|rHMJkj0~a>7b44AYesP~m@xS8F!+MX8TRD-yyDW_R7M6C=lqmZMh1SL z%)C^;(%hufq7YEVXJioa$xlwq2}>->1o5GQEF~G4#f%I}gfl)P15Zw3Zc<93N?vNY ziXkI|A;eK>75d0U4Jcbcau$dMDhi+(%~~^zk%6ZKT=GFu86$%-EP(MuD<cCNL=z)} zEI#Gdj0|ka;F64yK@X;oIF~Up@CKJ8CTII57C?gq*{cSO46bmm;&CX<PKXlpTmtq! zS1wYnktd*mk%22XzqBYh)h!d0OQf)t|9YTQ!^j}ul%HQxTvC)+;G0^Kk)Kj5z!1XE z%8&}GPSSW7f*C>t7%~_c#NqxxO3~JuVf?HNSs<m^JPa`mu>uUaj0{R}r8xb=&&H6? z#ZbUd$j(s2!%)mn!pNWmat<V!X6BXUXQ%4>fYXd`YDr>RVsc4-Q6(b-cP=vT48$T7 zO%P8&vRbi<Pkw%OX@NC3xFE`cONuh{(vd}=wm~!^@-9R<@sbcL@f!@O0Z~kLPRz*( z&MZl_W@O;;%*#tHa?VLCE>10GXDDZ6Pz8kv!Cb<~zy`@S><m><Jt$T{d<JnJEJ)ZH zY8V;hK*r-%%E-V52|oq}1`Y-$1`uFoU;wpF7#JD+7#JAb7?>Cs85kHuw6-%aYHed+ z*V@Iv%fPUcL6C`IBLf2i6N5jfy}$s{CCtFWAi^NbpuiBoz`(!*(Z>+T5X8VBzywNW zP%}3$urRPPFfcf3Z(|Uj$zY?sjX`!NgCZk?ug*>ebw-An3~D+%8FUyK4lwBZ=^kJ( zv|^ED*~DP1CCRdj!IFVt8-wlg|JRrQKMZmJGuQ!A3~USx45AF|3}Or_4B`x03=#}h z46+Ok4Dw*dXfd!bXfX&dgffINurR1Fh%tmSM1URb2yr0DISi2uQ4EX>(F_a>ybLT1 ze;5SV88m(|Xfp{gfl@xy_3@xK90LP`fVS2)2FGm-t}_|fb+$2hBOJpAHdvB@n?Z_! zpFsxf00pp^0NgT&Q$Qgrz!1j(G81GiGXo<(12aPcIA9YQk{B2m#2A<u@)(#Ik{MDM klEJKWhD?SWhEfIw1|bF}1__2Th6)x=hDwHNhFS(m0RN%#3IG5A literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/Board.class b/build/classes/java/main/model/Board.class new file mode 100644 index 0000000000000000000000000000000000000000..a1f8169e45fef3872ae559ad22bdf5a3d6f63dfd GIT binary patch literal 528 zcmX^0Z`VEs1_mbv33di1Mh5QO{FKxjeW(1yq7-%p7Dfhvti-ZJ{hY+SbbbG%tkmQZ zMh1@b)RN$m#FA7-24xMO(vr*^{eb-9%#zIfJZnuKboJJZ44lE4>3NAIrA4WX3?djh zLV~Rs890jJW~yjlnt^Uh7$bwIMo6$V7IBWE{Bq~~(!3Hz24)RSPeumr<ouk{+&rk5 zSZP5@Vo7R9zF%rZiF;~ZYEdG{;fxGI8c?@`J>-*FTw)FKAG)9onw56ej0~(rsl}-f z`@$F*xQa_s3;arRlTwQq88mEytuVb~hbhF!z!jWdT9lmXmYI{v$iM}T0X<M)vN19+ zGB7iM06PmK11kd?10w@F0|NsS0|yHu11AF)oX^d|$iTzE%K(ZvJ}Ax4AOM#aWMO0w WVh{$)i-6=An4l(!GKhgq6bAr_aD$cr literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/Entity.class b/build/classes/java/main/model/Entity.class new file mode 100644 index 0000000000000000000000000000000000000000..6372b0280b4c7957541ae3ff332d94cc1b324b80 GIT binary patch literal 137 zcmX^0Z`VEs1_mbvPId++Mh2eT{FKxjeb>B_%#uoW1{OvJfvm)`ME#t^ymWp4q^#8B z5=I7&ywr-4kkX<&Mg{>5ABYa8{KTRZYt1l52Cm@z(xT*4x6GVWMh0$(NqQhd*ccfY c8JHPBfRTlfft7)cfq{XMft`VYfr)_w056^&&j0`b literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/Fire.class b/build/classes/java/main/model/Fire.class new file mode 100644 index 0000000000000000000000000000000000000000..826a532f682d0c244081501793b08bb2ff2f02f1 GIT binary patch literal 481 zcmX^0Z`VEs1_mbvX)XpP24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3VP-29Z(9DTRUqEto(j)MH+%#zIfJVpk7pVE@d z9Q^>OfHgY<A0q<~M6qjLNoGkUBZH6znj+0GMg|t={FGFX{>;2oztY^K)S{5Yq?}Yn z1|gsP<iwn?#G*_PA1cUFl95@=$iU+RF&X3xYeoi+ywr-4kkX<&Mg{>5sFYKFVo{1U z$OhIV5R;LC7e$7Vfh#z_v?w{%EfZuLC&(y0P*^Z1GH@_3F)%XlGB7eQfqc!t0OqqY z@G~$n2rw`(xG^v>FflMNaA|F4VARsy%D}!6tVWQ5fq{>KnSp_Uoq+`uZVa3ZLJSNH zVi45~!VDq|AixDSm63swL6kuZYNjdJ1O^61gi&k^j9>#1MliySU}O+ykYE5AAqmzf F1pt|DS6l!9 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/FireFighter.class b/build/classes/java/main/model/FireFighter.class new file mode 100644 index 0000000000000000000000000000000000000000..97f8aa030b65a081e086ffc96aada1b3b1959de1 GIT binary patch literal 498 zcmX^0Z`VEs1_mbvX)XpP24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3Vi-29Z(9DTRUqExrc^o)|!B1Q&|g8bsllFa-( zMh1SL(vr*^{Q#(dH9G?zBLfdak855@W=SO@gOCQABF!*H1{UZ1lvI%Z%)C^;(%huf zqL9R-oK!{zA)ox@#GJ6iqD&AUD#%ijky*^hAnXG%8Ob%)j0_xksTCz5rA2v+3<4TZ z6;AnyMJd)Gix`s_8F*1d85y{O^Gl18Q{6H_778GlrUwcf21N!A1||kZ23`h61}0E2 zFff4mtPK1Nj0^${3=D1zObkp63=CXa+Zh<Ow6`*_Zv?9mWME+6V_;@rU|?rp0R<!j zCxZ|J1A`buHG?pN2m=UkflXy(U}O+w5QCa&3O0d(fe~R88v`Q)1A`!v5sYvn7#YMF NBp5(ONP;y=0RY%BUL^nk literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/FireFighterScenario.class b/build/classes/java/main/model/FireFighterScenario.class new file mode 100644 index 0000000000000000000000000000000000000000..6bc6452c28ca1b62fd685748dbce6f3e6e3e707f GIT binary patch literal 1543 zcmX^0Z`VEs1_mbv6D|fO24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc26==c&zzjp^u(OtlEji!*NWuSf|AVqJPrmfMg}q8)RK(+6otI} z5{1m%f}GUc)Vz|^6fOpK1|E=Qyo?N@8a@b<f=h}r^U|$BR`4@2@Z{#Fq~_?m=9OfY zRB|y0G6=CV2=g$AFo-fTNJ8Y?GK*5(GSf3kQj3C<Q}YswGV>W3IEqtCz>Z;LP|)y! zD1;bd?NeHknWG<&Uz`bYqqSxj$XIb61_=g9Mh1>_xITFebd{*)uro+AGH^qTcFIpI zN?~MRan4UkWn|#@$;?ajE6q(xEec6Y%1LEp5c0`SPRt2QEXoA&p@J+W8JWe54AM|z zvG~K9k%6NC>QIoes4iz@U@ZoPHzNZd)Ci~#85uZ=^2?p`OY=&=vE|9gz@40*Q<|Fx z6%#8hNJ%V74axUQttfF%%}Xsx1ce17gOG+MBr3o*`D7NCSTizk24|+{C6<&Hr7|)o zV<@me3ne>iMh4cR)Z)|<Mh33plGFl7Krk|>AjdK!QDMdfBZB}Wy#yo{CFZ7<q!tx} zEJd>e>PV#IY0b!>4{<rNAT(IOv10?}K*I>+Os?Sk(xT*4w@gqJNni<oJy5b_P-GBf zU}9iokYZq9;9_6|We^5N1{nqh27Lxb21W)323D=@42&BY7#NrsWEmJ3*ua8p3~~$% z3_M^qD}y|P0s{jBBPf+YHQO;TGcbXS+|9rqDa5&*fqOri34CA^#2~7mCV-rv$e;wa zScE|oYL*8BGXpbTvn0S~DL_;qnWfC20(K!61ISd6H&q$bpr)EIFhk^Ux=;~pD#VXm zP*WKh)JZTw3#$nl44Mo~;2<XK22(61Xn{jgn}Lx*2OJxq$Rcc#4HlCa8Fb;k(E*1# z0|OKD8nF3@xOPR-$pi@p0Y?TA20bKSfa6C?`v3!<&Nc=Ce5nN%lKKn`44h013<3-w zEa1o>!C(M25JZC#51W?uHU_Z`XwE@SdTbEqFn|nWWds?-z{CIvA43KsutsA5flM57 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/FirefighterBoard$1.class b/build/classes/java/main/model/FirefighterBoard$1.class new file mode 100644 index 0000000000000000000000000000000000000000..639299b3e5eb7294f647065a6292f46069ad4ffa GIT binary patch literal 672 zcmX^0Z`VEs1_mbvO)dr|24;2!79Ivx1~x_pq1^nG)Es?Z5b2tenwy$e!pOi@mY7qT zTFl5GuAv$2gQ>!rlYxVQlbwN!hk=`chmk=7qQot;C^aoJJ)<PG$SFUuC`HAPkwI1^ zxID8YIm0)xKn1Ky1=T91XirWCCI&tp27U$sMg|r)&mdPu1`%wQf?O`d!ywEc!pOj$ zUzC!WmzcxIz^tL^$<83g$RL%KSeB@tlbDyT@0TB3nw;U5nVOU0T2z!@1hPSbhd~l# z12@P9H&1tu5Z54f25CkH0favPq^#8B5=I6No8+9#yv!0iu<>Dx3@pz1DXEMM{63j^ zseYxoNvTC4iAg!Bj0{3P`N@enVTnbVAU;%(H@GA*Iomg}0LteI&Mz%WPIb!!=@3N^ zB|VV+j12s)dC58X#hH2OzNsY{`6=uSYK#nG;2_gS*TTra;g?!m;*nom!pOkmnU|MZ z<eZaOT%1}gpuoVvAjQDIz$hRAiW?A%frCMYL6(7$L5_ieA&Y^TfsuiML1PC4<Gwvy zn;F<Qfe`OD20<48<qRy|V6ON!20>OZcOwH611EzBgE)gIg9L*zgBpV<12cm>0|Nsa z*qnX_1qKENCI$uuMFs{29tM_hb_P)fUl75-!k`3}Q)W<MU|?WjP-S3XPzQ^sGH5U` RFmN$2GH@_3Ffa&k007pBmH_|& literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/FirefighterBoard.class b/build/classes/java/main/model/FirefighterBoard.class new file mode 100644 index 0000000000000000000000000000000000000000..94cf06c18f7e7cbaea5d4aa04e74cdbadc30a8ec GIT binary patch literal 6638 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/ModelElement.class b/build/classes/java/main/model/ModelElement.class new file mode 100644 index 0000000000000000000000000000000000000000..233ea071f11d658f111ffcfdd0d89e41d52ca544 GIT binary patch literal 1033 zcmX^0Z`VEs1_mbvV|E56Mh2nW{FKxjeP0minv<HFnpeWfz{tSD!@$bG#>l|!<{9Mb z=IQPc;u^%rAmW3m+8U&sgNK0=q?`q$93;Ta!@$G9%gDg466WX=>Ke?*AR3KLGZzCt zg8(}NFAswtgAgMFYjRG0UMeGlh=!(5R$^JAeokUuy1su>R%&vIH5Y>jgD5+L7!QLu zg9IZ3A3}j^UTH2P1AAFwPHC!t8Y6?L29j>)oW$Z{Yb1f-lA_GKbZcZAKn8%#m*QcN zW{_cIV6(~0%Pg^DWDr9(3aZmnGmL|Qm5YIqL5hQc6GSWWFeou7gS-oNLop+RxP~TH z4>K~b!IZE#=clAHGVuFk=B4_T<|d^Ug(N2Bq%tySV6jsZTj((|2>IkEC+37D7G;98 zLiMxcCFZ7r<PaeQbvYx0fNyF^Mt({_Vo_plYDsEQF(U&@Nk(QdBLin}W_n&?Noi3k zBLlOBW*8#_hfQ)0G#J#7!VeT!HrSkFXU)jK6`WsMl$`383G#>_a<b9`xyHeefssLk zfq{Y9K@yb07#JKRK}m;!K|l(WVi*`0SQ$7OR2Y;Q7#UO<7#Nfo7#To-YZC+4HU_=} z4E!4y7#J8C)EF2T*uZkk44e$&4C)L_VD%;pOkhziAx5no48jK(7(wcpP}FNMFfi~y zR555WXfZG_XoKu!WMF7uU|<3z00w5TVTKIM49pA+4D4FkGTRv>H!^^vk!?np#Ll3@ zzy>vmlZk;rfB}qk!CLeLxIpOx>LpDE7Lbn^1X=eoFh(+OVqgxAWZA^P9t?6Rs?RtW z^cnP^+H9fP6n8T)MheL?Z)cF(%)kuh$g_Ys>^m3~HZyR6oCz_8i-C!Ofq{iVih-Gd Oi2>pk0|rB|n~VUS$;rL| literal 0 HcmV?d00001 diff --git a/build/classes/java/main/model/TargetStrategy.class b/build/classes/java/main/model/TargetStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..da7b5d502c5df72549a10bebc64bd97a5fdc5805 GIT binary patch literal 2217 zcmX^0Z`VEs1_mdF3@!#H24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc20^f*(vr*^eUHTAjNsG~E(UgxDcl%xzKI1~3|t^NK1K!+gg&3l zyzJBzpUmPCZUzAcL3Rcq9tL3s5k>}Hgc{$(0!9Yr^wbhY1~m;IusD*#tTi!(*crr7 zY;n%d$w^Hv$;{8=V&G+v0QpgpkwFq_7}x^{CDxi@+ziqTGVBbpJPdLS@{A1pU^~Ie z0!vd%QyCdJGD}j65=-)n7#YMgpbh}bdqTynxfv80l-L=Rc^Fg}R2dnB5Jte1Ffy=b zBo_OnR+NB)Gzz3corgh#L6ebzB@Zkt0y7)gzw8X!j10VB+XC{7Ga<g>V$kJb&|}bN zWMD2REn#G^fcgztBW5^3U5=~><aI+H1|yK8*)xk>a|=o;L1HF645nb073AmSa5IQ9 znDa1LFjz7&a3tsFl_X~76*Dr3VzE>+3KZ{x><l)H419<{fW){pgA6x=J%c$rg9A#8 z2d9>R>~!K`a0XeyoS2dVQs>0Z;Ks-xlAE8Bnxh|*Sd^Yx5?oT0SdyAv$;iOsoS%}) z$iVNDnV0HUnwykb6q1;flgh{-<ddJAm=l&*lnLTP1zAcmGK(1*#C)(BX3fYTnwOfH zo{^Ma<eZaVoLXEGlJAyTl*-89s^NnY^45?*1&bjiAtX`X!~$zgG);^Q+@QRanV937 zUj}wG*Z^2`S~D_mB&K8~Ca30=Ffy<wmlhR)SsVq>_-15aF9CZW>;*)qBDsK(ffMG1 zVo<0c6oDMX$iPyZnwp0y5u93L&B(x+mRVF>0&$lxl0QH>9HN!IBtI;(IJ1P2K@dqE zoHMLJL5dRGl?AELAXi6HjBuz8TF}^8Gcq_Lsq{@OKv#k!3ra@l(stG$GZc_i1*eu^ zDq>_XMp6Rx9lA0sj#EO?1@<$#9+2(4!6k{w*}jPdP``5qXQt;RmXv~$PzO;-2-8#~ zd&vtF%v8t~oL^d$oa&Yd$|u68IZ6+dVi*(|Tp5@cK!AyX5mYrWFfzC^FfiydFfuSQ zFfg!cZD(NI$iTqB#Nffez`zC;WM}YXU|`?@vsoFu7`#FH8GIOg8JIwtnG_gU7`PZ1 z7#{6rV2|9+z-h&@n}I8GI|Gju>uv_#NL}rn4E#(C2N*=RGl*NUNwV!^kYZ%8VwYs! z$)Lc<Fq1(B#8P8qIKZG~#UaTm$sx(HjX@`T`TqwXwFZm~vlu!+EMtfgb{&v<GbV<a z41AKTlI+_UtPU_}ZO{dYg6*;1$zaRKV8tQH0kyy##DZGDDaj(qxs$;Tq@8W~|9g^b zAg&`5LpVgj1;k>N<V2VZam&`_|4XztFfcH%fJ4TOL6CugL6CuyL5M+!L6||6L4?7D zL6jkoL5v}qL7X9-L4u)(L6V`CL5g81gEYey1{sEZ46+O-7~~jkF~~FAWl&&vz@P{Y z*)#?&1{Ve{20sRW1`dX$45kbL4E_w94CxGI41o;(4D6t=g@^kih9Cxia9liM2xbTY zN9QAkP=+uDW(H1%n+)L$5ezI0LJSueA{n9>SQ%6q_A*2>#4xZi#4<22m@u${O$%m- zgX@fk>r8;_OoZ!9VqjxPW?*2jVqpKzpvS<$&fv<<pvBH0%FZCb&S1~Zz{SoW&Ca06 q!0?Mf=?{Z8JA>9AP|dIShe3s%LF)&D1`|UHI7Ov0FfycpS?K^{>^a&1 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/module-info.class b/build/classes/java/main/module-info.class new file mode 100644 index 0000000000000000000000000000000000000000..fead3a3cd5cdfc412b9369229c61310d02348533 GIT binary patch literal 337 zcmX^0Z`VEs1_mbvNp=P%Mh5QO{FKt1RNc(Hw0uSeuHgLAqU2P!%$!t41_2}~y{yEt zL`DWSU$AOn26jdU?zGIJ)U?d>jFQwMVFpe{22PL~y`;qAR7M6iBO^TnJtJWT9!3U! zka${!UUGh3Nl|`IF(U($k)bdHKO+M-R3@z=H%FL35TP`^D6t?TGr3rVL70(&IkBKX zgh7;%feUIvPHGV&gJ5DofqrmiZfQ<pNq&)UVrCvYgBT+NKg5L~zH?4uad86!10w?r zFf%YSFfcGNurRPPFfiCLuz@957&saj7`Pa?85kIN8Ti1Y0GMQC5CW@UVh~{fnZpO> OGlJDHFi3#S5(fah_C%xr literal 0 HcmV?d00001 diff --git a/build/classes/java/main/util/Position.class b/build/classes/java/main/util/Position.class new file mode 100644 index 0000000000000000000000000000000000000000..89bcfc46acba6bd77f0f54570c0b935dce0be942 GIT binary patch literal 1399 zcmX^0Z`VEs1_mbvTP_AB24;2!79Ivx1~x_pfvm)`ME#t^ymbAb)a3l46h;O%o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3V<(vr*^{eb-9%#zIfJVplQqWp4321ZYiGCm## zevlfr<ouk{+&m!$1_nVM1|bGvMh1?O{NR$J%)E3)24xK&6f>+feGpE7D6$4=73E<N zV-RO#;K)cU&T!68No8aZ!qDmoQYp#9AjKff$iS9bSelqq%*ddEt`5lt|D>$c<PvMm zC`JZW4Np(aFh&Lzi0S-3nR%&xrMXF|MInhvIUxId@{<#D!V-%zL42qnOG!p%F(U&% znlBg`1bkCVGV)Ub5{nXZQ%h2diWwP1G_ZIM9Il>>45Av?oyC~X$RLC%#mK-FoL^d$ zoa&YdavLu!4)j2w$H>42i#-9S{QQ#QlA^={h<l1T7<3sKxQg=2ts(Kk&&a^e&&a^b z&&FWL#bCr>%+6rK!(hr_#>gNKG7FLzic0fJGILY)A>jozijjdc31&JY!$xEeWagFS zXQ%2z6nZ4)rR1a*tN7&SXO|XOBY6fI!AK%djUkl<sV=F-$wiq3CHY0jTAXtdi;Iy3 zpk_p48iH&)O1gsh!kUqR$1^W4wFqovYB4*5B_o3>!p~5rAe#d713QB?BZC}%rHl-0 z5DzmLGH@_3F)%PNF$jUO4Fdy%5GZRfFfgz&Ffy<*$S^Q5$TBc6_=55x0|NuU)^-L) zE$OWc>{>Eg8F)8>waP)2GcYhS$TKi7C@?UClrktVC^CQmKiFtSuoyoB4+9f}5(5JR zCldoVScri^kU@w+nSl{(lOY2m14t>m)-DDC28In-ZQy|@f!ZL*AjY7AMY{+C!y2Nr zOEIWIwc9W-fy0ACOM4fC1TOtz5H(Qi85lSi)ELyk?&gL&L?6s&U|`kS!oZHt8LUua z7#aAnYUU+IGYf+T*r%EdS_}*fd<>wl<pGB-h|~s)F)|o1urP2i=rHIp=rfozFfed2 OFfv#$STWczNCE(>T^TO` literal 0 HcmV?d00001 diff --git a/build/classes/java/main/view/FirefighterGrid.class b/build/classes/java/main/view/FirefighterGrid.class new file mode 100644 index 0000000000000000000000000000000000000000..831699ca3ca58a17f7b79bad1d1464aeb6d30a4c GIT binary patch literal 3994 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 XLG>~t1A_plGKbVtix?JzGwBilw5U3> literal 0 HcmV?d00001 diff --git a/build/classes/java/main/view/Grid.class b/build/classes/java/main/view/Grid.class new file mode 100644 index 0000000000000000000000000000000000000000..c4fa5e96b46909e2a89e512f2ad9c2d4d042260c GIT binary patch literal 401 zcmX^0Z`VEs1_mbvVRi;4Mh4EZ%+zvy_oB=cb_Nzk27#=^vPAuy#JqHU|D>$c<Pt^( z_M+5+#LT=BMh0OGAFy<3NoJ0|PiAq6wPqM217~n%dR}5lX;CU8gEhJe8?cVF3VpDi zfW*uq8y^TWzc{lbGe6Hd#MRo)+74`zxJGm|SUs`>z%m>f(a|BUU?y*IYKco`Zfag} zW`15VBLlmJr>CbU$RXUx`8lPzdCvKzAjdLmXnHa-a1`a2Lj^Q!T&*xox5E@-WZ(+U zFD*(=b<502Wn|z41&$ub<7|u!j10^SAi&DP$iT|L#=ywH&cMLH#J~aObHe#tEQ}1? b3_J{=Fy&?71JnE<nt=(bLx4dLtWyX8Q4e4m literal 0 HcmV?d00001 diff --git a/build/classes/java/main/view/ViewElement.class b/build/classes/java/main/view/ViewElement.class new file mode 100644 index 0000000000000000000000000000000000000000..0ea0f2a1be043584c460f2e4488911772ffa0f00 GIT binary patch literal 1328 zcmX^0Z`VEs1_mbvPj&_-Mh1bh%+zxIu*}qQ*PPVc)VvZ-21W)J9tKthHbw?+H_sqf zH&1tu5Z53^1|c7GwbmfT96Su1AjK>o#UKH09tIwe0IRESKu9D=gpY@TpFx0;fn6oc z(I?b3n2|v^8q+W?1|bGvb_M|+1`!5PMh4d8ocz30Mg|cLO`oj9vPAuy#JqHU|D>$c z<PvKx25|-nb_Piv1}O$<Mg~5F0@u9KTt)`=vc#OyRR1(a22%|r-Of3Q#l_Z00>LFk znR)5f$Tols0Glt%!yv~X&&a@LlbM%UV#mlJhHMm6r>ABZ$cKtN3`z{jAV=rt<QFkA zNP+E0tI#h_PR&czFG$SHE75lb$yswSuyQh}F{raMXz(y-f;35hT#rpHBLj<*PpB&w z10#br$T2#M3<lWTfZH<7Fb)PzkahYz3<e;(n1fthI2d?9LdHA{CLkf!a1YNAuq9?Z z4CV|Lpm+iYUoj(tsD>t%m||pLgDGHf&QD2YWZ?J7%uDqv%}q)z3Q0`LNo8bE!{Sg) z%t!|%tNi4|oUp{AOpr#XZkD{n+*FVpC}<!t4-Ife1_9sHl8pS6fW)H2+|-iPqGCn{ zmXeIjVnzne;LP;A#FEmYR7M6_i2c}t)mk%*k%7Y|IR_fA%o-p86>um*>;k0$8%)RA zSu-+l1?QI*C8xS&f;=gJlyUSxPIWM3U}O+yU|?W%kObu+1_lR7Q1$@RJPd3M3=9IG zl)}IuAO*@3Ae9W943-QQ42%p`3=9lP42%pQz_p2icN>G?0S2KB3=9m64Au+`3~XRI zRt8Q6DFzz`Ca`)F1}3m5mk^`Y4hFFU42&T4OepGY85kINAgUPb80;As7#u+MGBPkU zFfcGN$T8?JFoO;AU|?oo0V&qfmf6lAqouo*L17~UNDat(J_cq61_llWHU>@xZU!y} zkg;M6Od$0Pj$p5WtWjc6W?%+ez{?EsECho~9FRfI0$iXp2KB8z*g6IVakjk-jFHTn z7?^`2SvE1S2S>7QV&Dn}c?H$$91JcDu29Xv46LA#Vldy$z!)i{!n}z=bvuLBW(H<3 zUzcSQgC3aA4(1!OZelP3^SO2~m~Lj^1$hi&I2YIxYzzhrtPD&HPGAqaF}Q<i4*(ha B4A}qx literal 0 HcmV?d00001 diff --git a/build/resources/main/view/DarkTheme.css b/build/resources/main/view/DarkTheme.css new file mode 100644 index 0000000..46b78aa --- /dev/null +++ b/build/resources/main/view/DarkTheme.css @@ -0,0 +1,142 @@ +.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/build/resources/main/view/view.fxml b/build/resources/main/view/view.fxml new file mode 100644 index 0000000..336ffa3 --- /dev/null +++ b/build/resources/main/view/view.fxml @@ -0,0 +1,40 @@ +<?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.Controller"> + <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" + xmlns="http://javafx.com/javafx" + xmlns:fx="http://javafx.com/fxml"> + </FirefighterGrid> +</HBox> diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 0000000000000000000000000000000000000000..46b73702845b51155ef452d502c381e20b69eb3e GIT binary patch literal 21123 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 Xr8kYs@g=7vgl_=~RK{*b@EK?TDldJ% literal 0 HcmV?d00001 diff --git a/build/tmp/jar/MANIFEST.MF b/build/tmp/jar/MANIFEST.MF deleted file mode 100644 index 58630c0..0000000 --- a/build/tmp/jar/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 - diff --git a/build/tmp/shadowJar/MANIFEST.MF b/build/tmp/shadowJar/MANIFEST.MF deleted file mode 100644 index 58630c0..0000000 --- a/build/tmp/shadowJar/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 - diff --git a/src/main/java/model/Entity.java b/src/main/java/model/Entity.java index ee4162f..d6aac01 100644 --- a/src/main/java/model/Entity.java +++ b/src/main/java/model/Entity.java @@ -1,5 +1,5 @@ package model; public interface Entity { - public void nextTurn(); + public void nextTurn(Board board); } diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java index 7123e78..26de9fc 100644 --- a/src/main/java/model/Fire.java +++ b/src/main/java/model/Fire.java @@ -1,11 +1,15 @@ package model; +import util.Position; public class Fire implements Entity{ + private Position position; + public Fire(Position position){ + this.position = position; + } @Override - public void nextTurn() { - // Récupérer la position - // Ajouter un feu à x + 1 y, x y+1, x+1 y-1, x-1 y+1 + public void nextTurn(Board board) { + // TODO } } diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java index e218eff..7dc1589 100644 --- a/src/main/java/model/FireFighter.java +++ b/src/main/java/model/FireFighter.java @@ -4,9 +4,14 @@ import util.Position; public class FireFighter implements Entity{ private Position position; - public void nextTurn(){ + public FireFighter(Position position){ + this.position = position; + } + public void nextTurn(Board b){ // Récupérer la position //Si un feu est à proximité : éteindre les feux à x + 1 y, x y+1, x+1 y-1, x-1 y+1 + //Sinon + //Se déplacer vers le feu le plus proche //Si un feu est à proximité : éteindre les feux à x + 1 y, x y+1, x+1 y-1, x-1 y+1 // Ajouter un feu à x + 1 y, x y+1, x+1 y-1, x-1 y+1 } diff --git a/src/main/java/model/FireFighterScenario.java b/src/main/java/model/FireFighterScenario.java new file mode 100644 index 0000000..fc3c5dd --- /dev/null +++ b/src/main/java/model/FireFighterScenario.java @@ -0,0 +1,71 @@ +package model; +import java.util.List; + +import util.*; + +public class FireFighterScenario implements Board<Entity>{ + /** + * Get the state of the board at a specific position. + * + * @param position The position on the board for which to retrieve the state. + * @return The state at the specified position. + */ + public Entity getState(Position position){ + throw new IllegalStateException("Method not implemented"); + } + + /** + * Set the state of a specific position on the board to the specified state. + * + * @param state The state to set for the given position. + * @param position The position on the board for which to set the state. + */ + public void setState(Entity state, Position position){ + throw new IllegalStateException("Method not implemented"); + } + + /** + * Get the number of rows in the board. + * + * @return The number of rows in the board. + */ + public int rowCount(){ + throw new IllegalStateException("Method not implemented"); + } + + /** + * Get the number of columns in the board. + * + * @return The number of columns in the board. + */ + public int columnCount(){ + throw new IllegalStateException("Method not implemented"); + } + + /** + * Update the board to its next generation or state. This method may modify the + * internal state of the board and return a list of positions that have changed + * during the update. + * + * @return A list of positions that have changed during the update. + */ + public List<Position> updateToNextGeneration(){ + throw new IllegalStateException("Method not implemented"); + } + + /** + * Reset the board to its initial state. + */ + public void reset(){ + throw new IllegalStateException("Method not implemented"); + } + + /** + * Get the current step number or generation of the board. + * + * @return The current step number or generation. + */ + public int stepNumber(){ + return 0; + } +} diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index c0bd67c..a42a3a3 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -112,9 +112,11 @@ public class FirefighterBoard implements Board<List<ModelElement>> { modifiedPosition.add(newFirefighterPosition); List<Position> neighborFirePositions = neighbors.get(newFirefighterPosition).stream() .filter(firePositions::contains).toList(); - for (Position firePosition : neighborFirePositions) + for (Position firePosition : neighborFirePositions){ + + modifiedPosition.addAll(neighborFirePositions); extinguish(firePosition); - modifiedPosition.addAll(neighborFirePositions); + } } firefighterPositions = firefighterNewPositions; return modifiedPosition; -- GitLab