From 823b0fcae02f1f6df6853c7c5f342ba39e844dd3 Mon Sep 17 00:00:00 2001 From: dick Date: Thu, 27 Nov 2025 14:06:05 -0500 Subject: [PATCH] Fond avalam board --- bin/fr/iut_fbleau/Avalam/AvalamBoard.class | Bin 0 -> 4834 bytes bin/fr/iut_fbleau/Avalam/AvalamPly.class | Bin 0 -> 1399 bytes bin/fr/iut_fbleau/Avalam/AvalamWindow$1.class | Bin 0 -> 738 bytes bin/fr/iut_fbleau/Avalam/AvalamWindow.class | Bin 0 -> 4231 bytes bin/fr/iut_fbleau/Avalam/Color.class | Bin 0 -> 1481 bytes bin/fr/iut_fbleau/Avalam/Main.class | Bin 0 -> 330 bytes bin/fr/iut_fbleau/Avalam/Tower.class | Bin 0 -> 1335 bytes .../iut_fbleau/Avalam/logic/BoardLoader.class | Bin 0 -> 2409 bytes .../Avalam/ui/BoardView$BackgroundLayer.class | Bin 0 -> 1119 bytes bin/fr/iut_fbleau/Avalam/ui/BoardView.class | Bin 0 -> 3533 bytes .../iut_fbleau/Avalam/ui/HighlightLayer.class | Bin 0 -> 1370 bytes .../Avalam/ui/InteractionController.class | Bin 0 -> 2820 bytes .../iut_fbleau/Avalam/ui/PieceButton$1.class | Bin 0 -> 739 bytes bin/fr/iut_fbleau/Avalam/ui/PieceButton.class | Bin 0 -> 2254 bytes bin/fr/iut_fbleau/Avalam/ui/PieceLayer.class | Bin 0 -> 2222 bytes bin/fr/iut_fbleau/Avalam/ui/ScoreView.class | Bin 0 -> 1470 bytes bin/fr/iut_fbleau/Avalam/ui/TurnView.class | Bin 0 -> 738 bytes bin/fr/iut_fbleau/GameAPI/AbstractBoard.class | Bin 0 -> 2065 bytes bin/fr/iut_fbleau/GameAPI/AbstractGame.class | Bin 0 -> 2148 bytes .../GameAPI/AbstractGamePlayer.class | Bin 0 -> 431 bytes bin/fr/iut_fbleau/GameAPI/AbstractPly.class | Bin 0 -> 417 bytes bin/fr/iut_fbleau/GameAPI/IBoard.class | Bin 0 -> 636 bytes bin/fr/iut_fbleau/GameAPI/Player.class | Bin 0 -> 998 bytes bin/fr/iut_fbleau/GameAPI/Result.class | Bin 0 -> 1042 bytes bin/fr/iut_fbleau/Res/BackgroundAvalam.png | Bin 0 -> 31472 bytes bin/fr/iut_fbleau/Res/Plateau.txt | 9 +++ fr/iut_fbleau/Avalam/ui/BoardView.java | 64 +++++++++++------- 27 files changed, 50 insertions(+), 23 deletions(-) create mode 100644 bin/fr/iut_fbleau/Avalam/AvalamBoard.class create mode 100644 bin/fr/iut_fbleau/Avalam/AvalamPly.class create mode 100644 bin/fr/iut_fbleau/Avalam/AvalamWindow$1.class create mode 100644 bin/fr/iut_fbleau/Avalam/AvalamWindow.class create mode 100644 bin/fr/iut_fbleau/Avalam/Color.class create mode 100644 bin/fr/iut_fbleau/Avalam/Main.class create mode 100644 bin/fr/iut_fbleau/Avalam/Tower.class create mode 100644 bin/fr/iut_fbleau/Avalam/logic/BoardLoader.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/BoardView$BackgroundLayer.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/BoardView.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/HighlightLayer.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/InteractionController.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/PieceButton$1.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/PieceButton.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/PieceLayer.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/ScoreView.class create mode 100644 bin/fr/iut_fbleau/Avalam/ui/TurnView.class create mode 100644 bin/fr/iut_fbleau/GameAPI/AbstractBoard.class create mode 100644 bin/fr/iut_fbleau/GameAPI/AbstractGame.class create mode 100644 bin/fr/iut_fbleau/GameAPI/AbstractGamePlayer.class create mode 100644 bin/fr/iut_fbleau/GameAPI/AbstractPly.class create mode 100644 bin/fr/iut_fbleau/GameAPI/IBoard.class create mode 100644 bin/fr/iut_fbleau/GameAPI/Player.class create mode 100644 bin/fr/iut_fbleau/GameAPI/Result.class create mode 100644 bin/fr/iut_fbleau/Res/BackgroundAvalam.png create mode 100644 bin/fr/iut_fbleau/Res/Plateau.txt diff --git a/bin/fr/iut_fbleau/Avalam/AvalamBoard.class b/bin/fr/iut_fbleau/Avalam/AvalamBoard.class new file mode 100644 index 0000000000000000000000000000000000000000..25cb21965bc4afcfad27119bb4ec286c6932969b GIT binary patch literal 4834 zcmX^0Z`VEs1_nol!|V)9j0_@KiDilUr6rj;`i@0KiIpy?g{7%n42%pcJPfQ1Y>W(S zHko;uC3cJq%o>_uTnroxoa_u-AUSSE2IaIO{mjym__U;))WlMK_r%;(#{f@#$E4zt zqQvA9r~JgC6h;Ok4Ik|40&)^7Q;V#95KaKwZmk){$-v9N$Iigd!yv#Q$jG38s^76J zF()xsA3{Mb;Yd%+P4zEJEn;L~i~?yF=3x+F5M^XwD@rXc%_(7Iki+4MAh5hOJA*hQ zgIshpnktAT`XTw{sYTWxb0v8gq(Dkp(u*=vI2mLZWZ4!qSBg+ftNuE6voPo4E7rM-Gt^|R6DIfQO3)l%EO?>pw7s^k(uX| zUz(Rv%*ep1;pwRv#l@h>pvBIh&BLI>pv%a>2abuH#JqHU-^7v(Mh51@q+&(}77b5L zPfiAX1_O2mLmmbr24hABDO9gQgULBRC%=f1fi2S2$HzaMkwFH{b;!!BK_;5=Fqnai zV-9k40r}d3hryD;3gps~)S|=^kYQpPnn)?c6Dn@a&0xb|%g$iO!(h+gz{ns3b~-p6 z!;~;GuxBI|`=wTtfD>;N$b2Ur24|3RuFPUkNP!Xz7lSK<8#{wL4}%ATCoYeHPI;ZP5hqoX7FKW@a19f1EoS7DFc%B7#WzuJ^eTtycq&`7y?1cS$zD1gFynp zJPaXV0hb`haCU|;Mg}>o0S^h-fSgJ$hERqG9)?JUD2Qt#+=}vZ!T$FINyYFm#KNQ^ zK~f;WcpioXkRV%nYDq*$K1e8uhanjz6bTaIWk}^=NMlH6WDo#_L1|G@YF-H>xiT^+ zV1xxIa6v@@L z>X?$1n4Fqd!pOj`;pquUHSD9Oyv<6@{{ zsAgxV;bEv{sAFUhKbz(7$i=mvM1ys(oGBSv2 zKyn$fWuVf-m7$%7p@X55k%22WwJ1FmniJ&FLkf}tp#>#KBL_n_4?_<_FCznMN`632 zCD>J{i5HeiP(nA1ouQwRK^Pnu;QS1(mwYmdOSl;N7+655a}vnSlNlLQ(H#LZ5R$a4 z!3iLYn_()$Gs5p*7 zD>7j2g_Hx1}{tTI z*Pfm@avxZYH6sHkM?qW>nRO2% zg9^w5eQ@r|%qz>!PSuCxOGy58OH3}wFREl@n1P%Pp$Z{(c_ikg_~hqjmli-< zO@6#^wK?w=gp<|9@j6*v6#{3=CQfTnr2hVhlVCLJWco!VF>z;tWa*k_=i5 zQVb>x(hSZFQVgC9k_`R~G7QTY7#L(3SpGApFtD&Q@UkFf%ZL^1YV!CI;#442mFI85uyfa)Bk}88{de7?>DX8RkN@ghTzSj>Es& zTNxy@WI^7SWZB9fw2^^<0b-yW13Lo)gEEpgR2ZZgR2dW))IhCA21bSz3@f3QSTis) zfJz@REoqr;3@S4j_&^~gZ6sr~oPmXL13YNh7#P6;1oAdJ1CxjYJA*3&6Vy0R?AS6e zfen(9p3NXG4GMEXnb{1yG9VT^%W?)5<~3-B>4C$Lm4QjZfsug;RPjUI6wAN__JOXn zY|0J>4Kr35Q5G>0tGa1lL=L5ULh=GH_m_d-i1Z)cz z1M^=7bw);JuvJ+M*-)#@7?{AJF9?d2Wel8~81$Aiux(;6LHD@@*cf&OCSE6Y27Lxb zP~#J7MmW?A1+6U%JTnijXU3|tjUmyD zO-ojk1)9=DSw-2lF{psG$cnNqVBisD5oKEdG64~G>>#EntC1+1krjs|`!NO%Nsi+n zC6esh7+kcpwlSn^W5`$v5&;4Geh<6BzOt<}(y9 zY+xt?2bnqp7w3Nl0|s_*S+s_oA(WAkk&%Ick?${q0y~2%JA*5uAU~e~10$#<2MIWa zT@1|NfXmg=-o{Woi$P>JLwTh34u;BI4D}2Q+Zmeo;|)k?k!oax8bll*f3|@_4V3s8 zgSE7`Gjt)!X;3-E1TOfD7M7|IzW87dj%7^)dG8EP0z8R{4u80r~(7#bOZ8JZYk z8Cn>U7}^-p8QK|g7&^dyWoBTMWMBk!FBzCXH3K6j13S3n?%mDM7rC8bf)6NCe4!bl z1fC&Mn9NwgB}gcf85_6|aRU`1+@fr=K$*i>R+Kftj2)B&63jSuGlWL!$cnOvvWs$T zXP9WksU^v|jiGoZ1CO>O=T3$xObp>IY>dnQ?`mOXT>gJGIOog;=bRqxoeZ-W84%gR zj)9+nfuVl^{*fC6F@Mf6K5W_H&A&+4)LkYtq zhAM`M3=Iqu7}^--gZ-?=!1WJQDoh2{GLTHc3C@Y z8v_di1A{xPhV)^!1((Yz&>#}imNAkAMVO3{tWhx76R%pB7?=OQvzvi8QX3SSpt22A z)NE&%jqn(xqFKVg$*_z;kYPE4B*O{@HHPI3It@jHB@v*2WMp90(DZ}|L_!4EKyo4Zj0_+~B#6OL zk`HkaBZG(rRtIqf=a&{Gr@Cc=4CjMKq8=!G7#Red^7BhTiKf6ewIm}yrI>@kh><}V zuB^HMoJMRJbrduhbr>}jbnPIFT7EVL6D|f*1~YaBb5IakFfyos%!EWqW?or-b}BSx zAff7(m|T)yRLRIN135gQ3L&<8B<7{$q!z3AJ z1yCcL6LWHcGfPsf85wvy^YT)QoO2S3i&Kl)8LSx@R5AR7&8h4Rwu}sN_?0p;utEIA zpvb_%z{J47z``H|%5V$}3__qB1g3=;c)+wMm}X;OWME}bVPIrXWnf_NU|?ckV_;yA z(bC?|z^Em&m4RJLb}Iv~mMF_s1_3Qm)~yV}8yOfF7#Y+U7#O6$YV{ac8T1*r7z`Nr z84MXj8H^aD8H^bi8Ppjxpr*<)FfuSQFfg!cZDC+v1J@3+nt{QbfssKIt5RNcr8W$V z3|d%~3ZN@>WME{_#;Q~pU8x%bBZCfuF4V2I46I*ShQXVGnL&?%fq{uZpTU5Efq{d85gZhT43-QG Q3|tJ13|0&_40a5X0C=@M@&Et; literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/AvalamWindow$1.class b/bin/fr/iut_fbleau/Avalam/AvalamWindow$1.class new file mode 100644 index 0000000000000000000000000000000000000000..339e29fc6a184e6a33339dcfc425d495047963b3 GIT binary patch literal 738 zcmX^0Z`VEs1_nn4Z7v2T24;2!79Ivx1~x_pnY1GP%+iwhw4|KW#8Q3t#N1TJ08jm( z)Z)^d5=I8Lvc#Oy)M7>kMGehpAAD-9IT<(@IN2Gvco?`Dco-R!Q58FuCFUgN>O-jT z%)FHRauq{H26dI-^30Ot4Bx~8m9!!igiBPQE>VHGgelsSlYxnWkB5PuL4c8gIo#8a zkwFf>lR$nI;$aYG5Mg9s&o4^J%uCE+WMJ0N^kiocV`PxZN-Rs%&q>Tn*Z0d0E=|sG z%S_ElaV;v!F9KO5!NVX4vWmsWKR6g9AkD)d0~T-zatvo@kYi*JK$zg4l$DxX!pOj3 zlbn;8msw&5wkV8|fyFsLC6$qZ-zPIK)vq)+DYYmhF)1gNk%2e3Br!SLH?aW9=L*g* zElN&x%LGXZB8QY7$Qnile%HL@oc!XL6m`sL5YEZfembY3WG8O1A`y~TR1y|D1$GYU|?ZTVPIfjVo+sJ iV_;xlVNhpaV9*4Ms559WFfed2Ffwp3FfcF(Z~y@FRi_*P literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/AvalamWindow.class b/bin/fr/iut_fbleau/Avalam/AvalamWindow.class new file mode 100644 index 0000000000000000000000000000000000000000..2b31770ca85cef26aa269041ff74ee9874aa38da GIT binary patch literal 4231 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 literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/Color.class b/bin/fr/iut_fbleau/Avalam/Color.class new file mode 100644 index 0000000000000000000000000000000000000000..3e18a94d641d281091f3be3b99346275e2e33bbb GIT binary patch literal 1481 zcmX^0Z`VEs1_nn44|WD7Mh2<0BK^$LlK8ZwoYcfpeaEuIoWxvx=lq=fB2ETI1{NL$ zRt7dk2DV67A0Pj4Mg|!l+#0MwIyiV3I6*p?gIrxed~O~F9tK`U26mM&N1ssFU`7Vn zXnbaHG4L}8uru)TFbFaTF*2|w=j7+5GBSv0X!>L&mL=-vB<7{-`zK|kCYM-qF^DjT zvNMSBFo-iqFf#BV6u9P<<}xy{mnG(uruwHbGMH*0>2}UZEH1W25(q9S%FIi*Mz#TD z0N8vf9tLR!8Ab*+o6Nk-5<5l)F=V5lIz2VR*cs$tE=VjdfrKCzgDisrNWUT@1Dl4Y zr>ABZC`gof7*rTk85y{W%QN%R!C}qFAOLX>T(31JgF1r-JA)<IdW`R;Cs)GO!2uI7Ye#88R}+p@lB0O0coIJPdjuGohM{I2c&D7#JB0K~6Pd zWRS$>L$K>P7&t)+O?ep17|cO&3J&06Mh1BeO}w$n$iN0u%Ho`#lFG=y?~|FA>Q|bZ zlv)&$n3R*s$Y6lQT1_<1Ag51jMg{@j)RK(+lz_yd#N5=9)S_ZW2F~Ej^t{B9(xOyG z2Hy14l3=7T7J?-rL?|;daFpc30#QK&-9EIyV`ShBE=f$z_Dw8+I-0{KIR~0Bm^C!R z7#Z{+@d!?)phRSY&j)taj0{}C`K3k4scxB|FyI2G20c(hb}(dMWDsFsU|?~O1Z6@7 z1_wz{)?#2_5CWwi1_l8sP}X8#U|?t9WUyc`XJBNoWME)WVqjzd0j^C9T-zA<4lwX< zU|?WiWUyjjU|<8wF*9&7h%;C-FhSKbfknB57`1jV2p?cz#8hv?z`(%D$iUFRz`(>H z&0xg94AyGSz{bGFz`!7`r7g3aK~ifsgKVU%D2piTb_V&a3`!f}_VO_>GcYi4F|aXk zGl((pFo4VxWo2LxV1Qtdd!g8t0c3|F10#bSgFVzsvJ8x1C$eg7VNgPM9X|sjg9C#j zRH+jK#5aOkn;4jvF>r2TP+QKxwuwOpq>Tw22to`j3=9my4D1Xd47?1Y3<37OVqgyjnTHyv91PA3E>La$4D4Y4 z=2>}fO4X_yd4hECW3|#0T#>ybVz{a4# Sz|6qJ00|gZ1~+g3xdQ;Nt1d$T literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/Main.class b/bin/fr/iut_fbleau/Avalam/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..1c977887432b60340c64df2ed2ec42208022766c GIT binary patch literal 330 zcmX^0Z`VEs1_nn4Aua|c24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc2F0`@{mjym__U;))WlMK$Fjtn#9Sy9o|%`DU(UtA4lwg>_M DSk+i;e+mKYfU5}hz@HZ1_lNR9tKGUDMkkI+{Elu=ls0n z#FFsLk__kkyyB9?ypm!@26be^pgKLVn8wH;uYu2BnqiC#EYA5Usf-N#KACx`ex8T|i(4b@1(DY7Ex z11^VxrLDo1mE=Rb%E%z1fz`8I!TF^{$*FFcAm?*|b?SivosmJnDL=oYxTGktz&Eud zBR{2>gF%~-frU|nQInsIL6?g`k3pZE!2lHShKvjh%W;7#-plA%KEJ($oJQ_(oB*mko9jFn` zi8(pJnI);#j0`-Ud3mWt&N+$2#i_;Y3?_^Wsu+I4=2UhDGe!nE{7M-a*dYF5P-Ng> zU}9ikU}9hb7_5SUfnRGo1EZGqRt9!0maPoD z8yOfF7#U<47#M^YSQr=>1Q=Kt1Q|FPgc$f3guw>LAsN8TfMS3Q76Zf>SQx|^I2j}u z_!uM^7#ZXl6rcvkGB7eQGB7Z(YHeX)-vGB4~x_7( z69l>24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc2D#{HpR^+V%+iwhw4|KW#8Q37vc#OkT>X&z^3)=0b_Om+1~se- za`MwNll7hQ6N^%O@)J{1i-Z^$753N9(i%uBb{#1!IU5MU5wXAt6H5M~fzWZ*~Wan4CBE@os9PERcfN-fSW zElN&xEDkOyN=?jVWYENIdS<@9XI?>R2}G$iCxaM+I6H#`4}&Cw6iQ$PR~DC~<}xxc zrxq14GKfOlmYJ^~P?VVm(=Ein$iTzJAj=@f&LGdjpunKW$RG@MBdS712KEAwwwydh z22pHo3u9+cW@He9X>}@1OG_uf`c3E9?!gz)b!LMMh1?8#G>L<&%6>Gk?6_J z;Kj%wg*BUi^ARV54}&i|gC7rrKSKa6mCpG&`9+KjY>}=$KK|j13^Ld=CRmv@7lS85 z5GY!M85!g?@Tt@c1KA$R!w?3tnmNeT1(YNrco-rGIPJVGJJ3}-q{epcSl2Mdj zo|u%A%Eb`H5X-|5#}LoRz?+zo5?oqPP?TC+oSK42a;Q42K?O@9%rsDP^mnaDPAw?O z%+KRuNMK0jVMqa4%n!~N!6k{w*&#*XG{WMXpOVVRzz<4*ex(@T(*va#Mg{?={QQ#QlA^={-_(+f{FGu2h9X7=CVfT@h7v{wxkqz*6oOKVAqAE~ zW?o5AerXxVe+pI#`i%T+3}svlDj0~v^3=Faij0}tn3=FJV+Zh-)GB7YOGNdsuFtC9IxfwVa(it)! zN*TX1urhEmFfe=*;1u9I%D~R#BgCn-i-DVgVH*R#ug-A>!A%UJTDuseK>{+`8+J1& zMeb%$iPYK7pthYs(~sGVRd*YMPNWsfF@}CoRsqgM3>}gzLIy%c+Zar&SR`4tF<1%N zZey^wVq-RA7i9-2NR(s~WjETv;B3Yr%CQ>cd&JY;9oIxI0ECeFP4H07uZeeF!{(oKzE93J2xw_jJ!k05hSg}ADJXWldERw9- z7-A$@_Ah7P@YCJKkfgnVftkUa;R3^ThA4)c40jnGFhnt^GrVDV&yc{t1P-%2kk1+T z88{gP8AKU`86+7*7*rWV8Ppjh7|a=@8LSv&8N3-37{VA78Il;38FCm@7|Iyb7^X02 zFf3)zWLUwV&9IX}hhYzc9>Wm^WrkA>#tdf}Oc*XOm@!;ukYISjV8QU7!HnSpgE_+& z1}lb41_p*?2L8Vc>g){c>L>@~ literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/ui/BoardView$BackgroundLayer.class b/bin/fr/iut_fbleau/Avalam/ui/BoardView$BackgroundLayer.class new file mode 100644 index 0000000000000000000000000000000000000000..3c16397427cb7a345047e9be25f375fa53dc8b11 GIT binary patch literal 1119 zcmX^0Z`VEs1_nn4S1tx724;2!79Ivx1~x_pv8=?h#0vf5^31$+eJ|(y+=BeP)VvZ# z1~!|_yv!0iMh0dL%`h$o4hBwk1}+{3ZU!Dk1_6*J{lxMT{gC|pob1dJMh3z3)DoA} zw8YY!61bR%hNcg?N^33#J_dev1_2%hK?Wh1Q8|fu>H7XjS*gh-j0_yE)?5rC45I7|Vmu7u3=)hC{9qdp@{A08F#SIHi7BZ?j0}>Pra+{uxfrAv zq}dr{co<|EPb~>bEzU13N={{DP||?-3T$U^Nl|8Ax;50Jd8sA( zp+P>@pzu=QVNhgHf_TR>H!(exkwF2f6Q&HR3lxxG71o>#Dh#UZ3~D?K>I@o;42Ee% z`kAFA@o7mpsfnffj%A5CiMjfvnfgxoiA5=4nW^O}PKn9c=|%aac_}`Ll_1YDXXd6e zG6+DNh%gxx?OHqx+6+33415KNnRz8haV-XQ7f88#QDQ+xW^%DLDArXN^mrKb84Mu4 z2+vF@$p9w^Pc8-(1|uE@V~`YQdTNPBYG!&y2^WJYgBd%6IS+#cgC!$_AUHUY4P|8D zOesn%2YZ&0!4%0_u#mN7^v<(Z&R(+A7=Cl#j_m8BM0Yeq3Lh(h(DL_ioL1B-Kh zN-84*zfWdfs$XetQfg61Vp2{jBLi=6Nn&!gZ(;$I&lL=gO1DgqBp*C5^+4`rWZ>{i zEiUoMFD_wcaAIUoBp3&b3_PBBd8tL<Dhx~v3=E76OrVHmU|?Wk zU}Ruruwr0jux4OjaAIHq%S&l(XJFLY!N9Jyje&O?gRu5C2FYy<@>>~{H-dHBFfcHP zF|aZ)FjO(HFjO;eGSn~#GgLE3GSo4!fZ`Tvo*x4{*gQoo?d=SjT3Z;Dk1>dAgJ@=E zt!)gtTH6>5wYD*sgoBJ_VgMN{#K6M9z|h3N%FxWf!_dN@z|h8E%fP_E%)qF?z|3F= ccC$T$1DJMXaAsg&;9_88P+@RnaADvA06viu6aWAK literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/ui/BoardView.class b/bin/fr/iut_fbleau/Avalam/ui/BoardView.class new file mode 100644 index 0000000000000000000000000000000000000000..9e3caceeda8086af8e7d876c6f31eb63b977b3ff GIT binary patch literal 3533 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 literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/ui/HighlightLayer.class b/bin/fr/iut_fbleau/Avalam/ui/HighlightLayer.class new file mode 100644 index 0000000000000000000000000000000000000000..ba1c09fcae0f6e3fca6befdfd9ebd1390c7ca44f GIT binary patch literal 1370 zcmX^0Z`VEs1_nol2rdRD24;2!79Ivx1~x_pp{&HR#0vf5^31$+eXoGTywn^<1~!|_ zyv!0iMh0dL%`i>|4hBwk1}+{3ZU!Dk2DP*z{mjym__U;))WlMK$Fjtn#9aN-Onr~c z^o*R$^o$ap#LCnnMh4ajr^Mn^Mg~StkO_P|4E!MNtd$^9kcc1;gAhoBy|^GTIWsRE zBqqYcAPN#=DbB1) zWRfxug9<1#*o#sN5;OBkK!K#j!=TQf!N|Y|7IDtcEy&MH%`0JK5YvDdkyu`$?_QKx zkdc{OY^@o_&Y;D}APhDfS;okPok53@fe$X>oS&0l#KoY^pa+TqSuO@m1_K@jLk1&8 z29Dy?60kHQgD{dMU?FSGFm47D22*whGad$W1`C*xaE~xDaAcOG7A2PC7lGWU32`J? z+7l{n&COuNV9m~8!^2?9UB9QL`@-y>FI2oK7+;|w=K{3i$0pfY`FnED^l^}2X z@G$s-;*TROGbhKtEHQ_XfipNWJuk7Ov?!I4K?%tRpqR3O@ZrW=+gUR*usG+Zq%tz_ z`();&`jzG;r51%GCgr3uGVm6smiQpWJ1juK0Rl44S~HB1K@}Rza8WFlfYk8@mn0@< z`z97ZP3H>EFD*(=b;|@}HFf%YRurkOpFfs%%Ffhb3urjbRFfeFqZD(NAlHSU|t|haTfmcg* zD}#WRD9cs`VJ+ru3}RZ$%!14cg3Jor7^F5bFfcGO1Tru%C^2v_Ffb@EurMexa55+{ z@G&Se2s5ZKNHVA~$T6rhXfbFoFfs%&1T!#!Ez@FP0y~;ZOM5GWoYpo5C4^ag49pA+ z40;T#4EhY53LP?vlWXZ%N7P#Ggc7g zVaBGlg@IiZL<(din6YbZVc->I)!M=U;&EtgVGtG&NigHo5oH(PN)hD%5uBo&+Zeo; z|6dOB024Sc%ounX7#PeMSQ#uCcp0o2gcxiXR2b|SoERJ!JQ*Ar0vMbb;uu^Qav0ng sN*UZ4+8I0;x)?keLKzqs_!*da|1v1BGib6iSp8y%W?*Cp14mal0Fgi&%>V!Z literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/ui/InteractionController.class b/bin/fr/iut_fbleau/Avalam/ui/InteractionController.class new file mode 100644 index 0000000000000000000000000000000000000000..448a3c6cf3fb9387141d828dca0bb5236b571155 GIT binary patch literal 2820 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 FNdScRQ@;QJ literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/ui/ScoreView.class b/bin/fr/iut_fbleau/Avalam/ui/ScoreView.class new file mode 100644 index 0000000000000000000000000000000000000000..cb29c750e6715eebae08d8d154923ea1de05e75b GIT binary patch literal 1470 zcmX^0Z`VEs1_nolP%Z{024;2!79Ivx1~x_pp{&HR#0vf5^31$+eXoGTywn^<1~!|_ zyv!0iMh0dL%`kQb4n_t(kTU(m@)CXL{G9wEE(Uf6E|3Y_j0|iVo}QkXVO$Kn41DYi z{5%W-41$adifKjqnWZK1X-PS$iKY6EWr;b7x%#D<`oYQhMX6z#spX6eyv3;{PKn9c z=|%aac`1wx!WurP)>wmV7iMG-h6}sp%Q4LQ`h%0jv^V0Q$ONuh{(yh4|BpDPy;h_jpfhn&U#>v3Tpv=Rd z!l25?z*Yl=!2bMEyTdcAOlja!NZ`5P#(n2pv}m@iwKGQyb=xuT}B30 z$D+){94-be27QnV3>X>2p}t3UAtZ_<8H{)sj2TQA8Q6^4ywtoBYiLM-bRq;f7_1l>*cB8MY7`U{KmlXJ z!(hvx2(dCGwW5TPfmH+K97YBf=lqmZMh1SL%)C^;(%hufqL9R-oK!{zp3;Jp#FA8S zS}A5^;0n$!ElN&x%LK{sfkneIQ_J;0fx*Zi;FOkRN=|CAicfxic4>h%IEo?WK@$s-2-F6M#*oT_ zR4mG)k<|MqWu+#=!yVaf=fs?x;LMU#Yeohh&%C_UBIlgM;^Nd|c7{Mk22~6{L2N{I zDmz0kBZC}%rHl-05PvZ!GVn4mF)%PNF))ErHJGKzpbDlL8CV(Y7#JDs85kJOFt9N& zGcYjpXl-X;)Y{F!9x2Fh0)nH5JXMVWc&)|z3Q z47>~yJPeWyQj82NC8-r9j0_@R^WmNa8)VJSAj8PO3%A%UKd*#?L5`7u)v+iuF^7vm znn3|%k0K+3I2L;#J{Mw8=3!7_P-SFbFHS818NtXP1XT?RGmwZiB#6{`7&I6(85x)p zQ&Jciw2%}z=jRsW=cVSASZjja2@P$SAQyuWgEkL?4ucrPmJqO)Se)}yQW+WeeKPY> z{YrC_Qj0+t1>Wwt>y$7p}mbk3t+92}QAUpVY82A|k7#Y|zGK)*{iz*oz z1bx6xD=o>)(RWELEKRlMWDsHyW@ixLVGsqmMFyXtj124nK8}&DL53h*;yerzAT3Za zBW?yM25EK%86E~%202Csel(jH88{MCQrt3&ic1(7L^U7|K?);l%`lJ&3Oo#o3`&d) z+(oIm`DLk4^&%RYm>Sp_R2Uf)u{#(RcmX+;AXC+N7}PZMk}=?6Fk~=d zWDtRPB_OBLttdYiZilLdCJ~mfGng4`bPC5a`ea77#p7K{uUe)$RoIh6{Tc?!@}p`(zOUy_lTm#&bU zn5U4Gs!*DjlAo8##bC-{1xnD?Xwem1Qk0pOZmk){&S1;PfFr?pLQ^egaAta5Vo7OH zDkFm#BnlCU&xQ#9+gUR*7~zTyXj(@%*IF}-k%7fIKP8osf!`-HFV(L!Hz~C!Brz!` zm60KwMAL|KCCEzN;F84TY~REJs7<2jsU<#%#Uug7s2>>_xH5}D zMT37CDEBjKXhtzIaHgl01f>?2=9Dlp;5GrG!kUqRJ+s&clq?t-h)ds5j0_x^C847o?iy{LD0}}%ygAD@{0~4skWnf@n0u_u5j0|>Q zwmkzc10w?~g98H-gChe2gE6Q$XJBC9*V@j&sHMG?fn7^yD+BLF1_lO31}6pv1|bF( z1_lNh1{MZc22KV!20jLPs8P-gETH0mfe~zw7uaG31{tj_4D6d21eY=JYHeZ=+seSc zoPkSg6NBJZ26m9COh~4xGjK6zFo-Z{Ge|S&Ft{)AL=~- literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/GameAPI/AbstractGame.class b/bin/fr/iut_fbleau/GameAPI/AbstractGame.class new file mode 100644 index 0000000000000000000000000000000000000000..9c63903f185feb1d7de32a42c7c025003f6eaaa5 GIT binary patch literal 2148 zcmX^0Z`VEs1_nolL@ov<24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3VGv?Be?(vtYJq@2{mQhoQt+*HQ^PkqOv;*z4o z^1x5xz3e;3!T^OLfjKsKn=LXb5vL zC^Bg9FlaJpF*5L^XO^W#=9d=v=9i^1GB|7C@Gw*>uJC|4E+D58949(F47v<@j126V z#XhO&i881OI{G8i#3u%_e(kVFs--N3}a+qan4UkWn|#@$;?aj zE6q(xEec6Y%1LEps3X}tDtZUxGUlSvJVplI;F84TY~REJu(Q}1{23V(38rgC2Cm@z z(xT*4w@i>%1d)SG50u0h83dg2^GiU5W`S>NNk)E3F$Y5kBZC?wKouAjGK&=w6_RrD z^HVAnk~2~hOY{^x6+n4cp|n7cpN%1miy@pLf}J4}ln|pB8B{>VLdx;Xyt4f4RDDPS zf}~Bi#N?9vqDn@F8OTWtsu1D;kHox`oYZ0!pZxsn(gJHpbb<2~#2{o56pbO31*yoA zQ037`CSb`+P$QfZb8><+OH!>F8F)PN@=}YOa}tY-Q;XRdVi_4!G5mzhsq75#j0|%4 zl`=B0LHxy{$iTtC#K6G7#J~iq(ZDQz1_1^}1~)Lsgk%5)LgMo>`lYxQ37*t&{ zFfj0IZD(NA(%#CzuBEe;fp;SV0|O(27Xt%>5CaPX1A__!3xg^HCxaRTAA>s7C~pQv z1|J4j21c+!I~kb4Dl@dUFtG1r5M*SS#Sp5sg@G5s7iVPH#vpxwLD2`oS7v1J)z;a@ zpza6a>+WRGW@4DhAOPj)Gchb@5ZTRO9I3s7!E_gcH3P$T2K)WX|1Sk8*va6;$glzI z9gqvv7&sXi7z`LdrK|#j5rY2Gc@?2Wm u85p&+w=%GA1gqv}U|`^5U}j)o5M*Fs5MtnD5N2Uy5MU4l%L;+b5e5L^=xGT6 literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/GameAPI/AbstractPly.class b/bin/fr/iut_fbleau/GameAPI/AbstractPly.class new file mode 100644 index 0000000000000000000000000000000000000000..5a3a4d20f066e14f40c4519eb2abb9c8c4c97a13 GIT binary patch literal 417 zcmX^0Z`VEs1_nn45iSNM24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3Vmv?Be?(vtYJq@2{mQhoQt+*HQ^PkqOv;*z4o zw!XmMUjDnfr){E zfsug;lsEGaEYWn{3%s>p^2 z+w80v8CX;D19B>fbzT@F1AA#6R133)W*8#_M{#0Ws&jrpCBE>0M2Hz{1EN$RGq37iJJ)U|?Wm5M>Z!U}O+y kU|^790GZ6dz@)VSEF;0dz`(}9$iTqh%fQGW2{u6r0MzTEOaK4? literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/GameAPI/Player.class b/bin/fr/iut_fbleau/GameAPI/Player.class new file mode 100644 index 0000000000000000000000000000000000000000..c659c8b3dfd9f18f69828f989b5b73e4ea30458f GIT binary patch literal 998 zcmX^0Z`VEs1_nn4eRc*WMh2O*BK^$LlK8ZwoYcfpefPxNRL1~M{eYar%G4rG21W)J z9tKthHbw^a03XLl*C0bi200&mdaOa3ICvO1ku({B#JG7Fco=vY8Q4|A9DPDvgBcm* zqw$->#lX)Xz|O$S!yw2Y#K^#!oRgoI%E%z1q3M&ASeB@tlbDyT@1K;Fnp|Sd#UR2U z%FZCh!ywKe!N|aeP~e(Zn#;(*UY3|sn(Cj%$Y830q}w?svAEb8Ng%kSC^IkJ8rcSr z0bui`co?J^WEdIPY%=pQOY9gK#E^}G>h#nM<6vOrVqj#D;$Ywe(TY3_N({;%kAvM% z%*ddqp-I5&j0|ir#VpSGDXEMM{63j^seYxoNvTC4iAg!Bj0{FtY}dpeqKpgzzNsY{ z`6&U3MTxnoC8V!f*sUxKybP=iQVh%tObihB=rHJl H-K7TrLd?jw literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/GameAPI/Result.class b/bin/fr/iut_fbleau/GameAPI/Result.class new file mode 100644 index 0000000000000000000000000000000000000000..4234ba934331213fdbeea51a1ec69d20b4ed21e5 GIT binary patch literal 1042 zcmX^0Z`VEs1_nn4V|E56Mh2O*BK^$LlK8ZwoYcfpefPxNRL1~M{h-w1(wq`b21W)J z9tKthHbw^Ka8Ex*200&m>a9T8waPOv zGcYqSFtBTB%WP+m*@$5eNFOH?1A_nq80#{C^y>+5f#MkITzv)>kZT#l+4eFpMlx?= zU=EIC*~Gve9Lc(gfh!o(EgTH`40=$_K~T+lyBQcGg%p^#GbnCmUpt6~P7vWAJuzn5(UT}zTF{m@JGcYkgoN2&d2zIU!0Nw7+@&Et; literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Res/BackgroundAvalam.png b/bin/fr/iut_fbleau/Res/BackgroundAvalam.png new file mode 100644 index 0000000000000000000000000000000000000000..204977d252dca08c5f536c6d2d6dfa334efe9e32 GIT binary patch literal 31472 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 Yf4gk=?4_2UO+W^Dy85}Sb4q9e06f_+!T controller.onPieceClicked(r, c) ); - // Mise à jour des highlights highlightLayer.setLegalMoves(controller.getLegalMoves()); + backgroundLayer.repaint(); highlightLayer.repaint(); pieceLayer.repaint(); repaint(); } /** - * Renvoie la grille de tours depuis AvalamBoard. + * Récupère la grille depuis le moteur. */ private Tower[][] boardGrid() { Tower[][] grid = new Tower[AvalamBoard.SIZE][AvalamBoard.SIZE]; @@ -112,7 +110,27 @@ public class BoardView extends JLayeredPane { grid[r][c] = board.getTowerAt(r, c); } } - return grid; } + + /** + * Composant affichant l’image de fond. + */ + private static class BackgroundLayer extends JComponent { + private Image img; + + public BackgroundLayer(String resourcePath) { + img = Toolkit.getDefaultToolkit().getImage( + getClass().getClassLoader().getResource(resourcePath) + ); + } + + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + if (img != null) { + g.drawImage(img, 0, 0, getWidth(), getHeight(), this); + } + } + } }