From c1e5de9ed24e4fdb391f2dd40174b9510f34e9b5 Mon Sep 17 00:00:00 2001 From: dick Date: Thu, 27 Nov 2025 13:06:14 +0100 Subject: [PATCH] Maj BoardLoader + makefile --- Makefile | 17 ++++++- 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 -> 4468 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 bin/fr/iut_fbleau/Avalam/ui/BoardView.class | Bin 0 -> 3139 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/Plateau.txt | 9 ++++ fr/iut_fbleau/Avalam/AvalamWindow.java | 10 ++-- fr/iut_fbleau/Avalam/logic/BoardLoader.java | 46 ++++++++++++------ 27 files changed, 61 insertions(+), 21 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.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/Plateau.txt diff --git a/Makefile b/Makefile index 6d73b81..1719ab9 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,10 @@ SRC_DIR = fr BIN_DIR = bin +# === Répertoires des ressources === +RES_SRC = fr/iut_fbleau/Res +RES_BIN = bin/fr/iut_fbleau/Res + # === Recherche automatique des fichiers .java dans tous les sous-dossiers === SOURCES := $(shell find $(SRC_DIR) -name "*.java") @@ -19,11 +23,20 @@ JAVAFLAGS = -cp $(BIN_DIR) all: build # === Compilation === -build: +build: compile resources + @echo "✔ Compilation terminée." + +compile: @echo "===> Compilation du projet Avalam..." @mkdir -p $(BIN_DIR) @$(JC) $(JCFLAGS) $(SOURCES) - @echo "✔ Compilation terminée." + +# === Copie des ressources (.txt) dans bin === +resources: + @echo "===> Copie des ressources..." + @mkdir -p $(RES_BIN) + @cp $(RES_SRC)/* $(RES_BIN)/ + @echo "✔ Ressources copiées." # === Exécution === run: diff --git a/bin/fr/iut_fbleau/Avalam/AvalamBoard.class b/bin/fr/iut_fbleau/Avalam/AvalamBoard.class new file mode 100644 index 0000000000000000000000000000000000000000..0a16ba70562e0bb9c591219db83b6cb725a9dec5 GIT binary patch literal 4834 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 Q3|tJ13|0&_40a5X0DdJs^8f$< 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..1fa7d5a4f2957e7d3a7d7ab16b01ecd6b6188b0c GIT binary patch literal 738 zcmX^0Z`VEs1_mbvZ7v2T24;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`sL5YEZfembYDuXfu1A`y~TR1y|D1$GYU|?ZTVPIfjVo+sJ iV_;xlVNhpaV9*4Ms559WFfed2Ffwp3FfcF(Z~y@Ibf+Ew 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..cddc4a228d65ad6f11b3858bb55053a9a8e274cf GIT binary patch literal 4468 zcmX^0Z`VEs1_mdF-y94~j0|j!Wr;b7xm*k^46N)7Y&;C?3>=IMLRpDri52?A<(YZu z`d)5DiMgqa3~V-;d6^}4j0~b0J|KDhoW#6z{osQ%fMK7#XCYZUyOwi1{YwC8nnqS!;%IFi0{o$fCM4D79EWASbaTHL+B$q@sk2 zL7G8^ok5m|L5@M5kwFbrG1OBz`RSR-`cCx^r6d9D*8I*Y#R2Wnl83e$g0MTDrT#}m0$iSRmTEfU6 z3Wn`FY8SCE=MR8P556#U+V(CB#ykurp!6mT_8qDp7#Y|LKt9UJV`ng9WKh5wR*)C~2R#>qDT4(l zMOZR2C~DvjT+J{}1}+9`9tIl*TSf-fBv8~bGALn>4~)YP=lq=fA}$7Z z1}~7THzNa^h9^veFAswsgFhn!Z*gjgQ(|&MY{U<_=htx$Y2j5urg~<2@uJ{ z5XBJ9$iS1FpIcB`k_xttkwIPqpGHkjkYi$b7~()KVGeS2;bI72a0bOuA`e3nLoz5& z!`#itpp4xtWY1Z%Go<25Go_jOA*DrmpfCWrIGu+fgCUcVfxD!%D9<;wxHvIAm61V2 z14|a*Vn|_N1-UARhas0CkCA}`qz7aW&cuUcnKc)K9YX;RLm@*EBLj0{N(v)`7E1Kx z7Ubup=D{-`Bu-(191JCl46J_nMI{*^SC@gzDQ9HR#A*UkhJ$73Fm{GYJjnu_g~BpZ z%Y_&i8LD|0Y8Yx68JLSo^B5T{al{=YUqH%olma8DG%qhPDJRvMi=l#{9+a3H2$=%5 z-Wti-a5ErTwTXwJnW2S|ffJlnLGHwt48W#=6j^gHv@tTUIj828q!xjKt%HZ5lR=n~ zfu$fZIU6L<&BM^c(96icQ=D27lvuEd;(-~YC8F)$yQWBv# zq!^U6X7Vu10+ojB#i=Er6bdTQ=I}7gWthjvz?E6-o|v2JUk0jOm^Cz`K#~i17#1=t zVr1Y<2Rptrr-YF~K|>QQdw}#g26*ZRr52awlvr~zEMZv6&ajM!VL8JJMh0c9`5rlL zRSX#!)K!AZGfR>)d=m>)(u!0N6}t-5bQOr{j0{ZCo?Hy87*?}0tl?o;%dn1-K?c6%;ub zHlfHD<(He z9AP-h&Tx!};W)zyT!lDTDI)_%dTI%{pk`!{!$>4hQ^E4qptN<0hv78C8Ab*Hkgn3A zqSU;SfSkliQ1Zi_#2_lHIT_9|oM&gaz{7Bn;S$aS08z}yz#ib^80i{h$jBgvBjrL= zT5~X5VPs(S0;LEJhHH!rtU;j27h+&y&}C#`an4UkWn|#@$;?ajE6q(xEee5TWxo78 zaCs04&TT1-47|Z5iOJc%i3LyvT*3LJMaij*DGZ>aGB7I$9}!S^&`ovC#&x3bqQ20t~|Z ztPD>;1ld53sSKtk491tP1VSCCDaJ##GIVq%#u`Vel~{pTnrx=KC&}>;$isA@P&~< z3ByZ1iMdHBiN2{NiD@toapxlQ&d}a_P=`YT4c+f3l8_KZ4jL3`uwHyY!pOkmnU|MZ zF)%YQFkI0RV%*Nati`sCfm3TY z1ApXp2ElC%B0>^77^HkQF(_y=8!;R0U{Kq|pu@nhjln=`H-l-U_I3vItqfMX8SEl= zGdM)DvTSE?+RotWtFxQIJyMY21O#no@Z84WqqUnMAW~}+L(n#c2(3*FG20j-wllS3Ffi~ju>N5PVP{yy z#KiQAfs26&)VPOwtDk|HfsKKI!JgTc*-ln~a}k3Xvl)vh3y7r#@_?);%QlAnR;-e& z#~An}S+_A9)?UWI*22Wt!os-x|IHR=#^wJ{$*cjVLQs6DF>o?4FjO%xF;p{fG1M@K zFw`@o%pq07q|ScR_cVz|!0umNr_$Xg5y-3*cpU0}1>8JL6| z*%{OsSQzer72RdH2hAc&816GLFi0>kGrVA6WO%^vj)9rs5yNAKM_~RlhOZ0^450dG S2`IhL&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;TZ7xIr 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..9c8cac1ede70946ddc59f1e7b74e1686dac191bd GIT binary patch literal 330 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 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..3e65d47089095cf85aeb87da44d726afc0ee378a GIT binary patch literal 2820 zcmX^0Z`VEs1_mdFsay<949x5dEIbUX3~Y=H0$GV=iTXK-dFlH8Nm;4MC5#MgHko;u zC3cJq%o>_uoD3Wcoa_u-JPh0nJd6ywX+`>(r6uucNja&BrTUI#i8+b6`lXrro_Qsy zMTyBJnfZCn`FSNp`8heMMT`vG#i==|$t9^NLHXs342+&2i=@Q{#5M>Z!WZ=q4O;616%`ZzWW@HfXL1+P~ zwg#z`;9-ztkYZ$DP0CL!N?~MB^1nhFE z2Wtt-Of9$OV&Gs<;9*b%1tec`PHJLNFxb19`FUIn$_y&(45~Z~Y9LuftWH2SjFEx8 zC^fApwK#)|L4!e)ok5F-L7PE`kwF2gRwUOmGH|7*mW1S&rxrPuFfu4;czSALcRW~) zH5Y>(gFZWh0S|*AgApTx6jt-WN*NhA(o;*E^KF98LSn1&`&g7k!nTXQo6 zFa)wQ1o1EgGlVcQ2qDabDPd$_&qyrxORXpY=ej76jxZjEaE1s*29`Xqun5d-q`Yd) z&Je}OfR?sk;pdoCTms6G0XdcI3^9xha#-UTl8yp$D!CY<8RB>t;u#Vku^!=8l%ETB zjVDMdiH9K>CKU;iVrNKYWPk)uVtI*vKz?Rk2}of&4?_k>AzONCNkm9KNGOYkAsZ$X z2@*jV+Dv; z&cjdv=7Akw1v0XlkwH}hE%Czw1d?Q|Jv}`=HN!wLSj)pu$57A6z@AwQP5_JyYPj?w z1*WxT6i9O;4?`0}Gb00QN`632C9zt=K;=R!4?`O`apmWM%aYK7l*E$M6h;Ql;LP;A z#FEmYR8XmfNG717%?1)M@UXVFvu0%QKzA=BI-%t<*l=sK(15ByE_$pr!x$M@obyvs z85#I}GV@aXN^_G^i$W5Ua#9%?c+*o$z`+B`JjIL*La>AgE~r6Hvu0#a!4SmiUcUUi zfXvk7ROg(`qSsIkY$z!jWdT9lmXmI-p36xM1- z4-|3?iVPeKObiSRtPD(``hbCffeBQHfoXmQ9xyG+AjZJR&<R&8HBa8w=#%p>1<_? z-pIhfz{t?ez`!8Kz|O$Hpvl0(puoV%pvb_-pu!-@pv54^pv|Dnpu@n((8JKnzy!8I zmVuFh5#&;>EeygN;6|{41r4Ci>tkSK=x4BpI%*38GXo0)14Dwe))of#1q|XcT3Z-+ z7clT^ZDWwv+QJ~cjX`On))oeFX_;*d>VCS%7?gCkG3ah%Fa`;3W3XJtAgBeBvq4hK z&NQDv5M&P1do~2;hhX_ zj11_e#4@ll#4&I`vpBrq_63V*06yBJu(_N0Nr9;_DLlt|re3~9RC z7&5mrciYV9Rm_b_7oe;deg)}Mj^ literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Avalam/ui/PieceButton$1.class b/bin/fr/iut_fbleau/Avalam/ui/PieceButton$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0934895a80fa09046d86ddd706f5080cd710be6f GIT binary patch literal 739 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 FNdS$WQ@{WK 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..84c91837c5464971c5daa5c64b1b74d1bbc9fcdc GIT binary patch literal 1470 zcmX^0Z`VEs1_mdFP%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{)^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`kZB44 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..2966a406a8ac1b698450f3380649543000b9b6c1 GIT binary patch literal 417 zcmX^0Z`VEs1_mbv5iSNM24;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{u6r0M}rmO#lD@ 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..75badcc37cd23c02ec74ec198e0e04873cac3d83 GIT binary patch literal 998 zcmX^0Z`VEs1_mbveRc*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-K7TrMytrU 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..15a4ce1b832376d82c62d2a787a9b24046ae73df GIT binary patch literal 1042 zcmX^0Z`VEs1_mbvV|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!0O9%0^8f$< literal 0 HcmV?d00001 diff --git a/bin/fr/iut_fbleau/Res/Plateau.txt b/bin/fr/iut_fbleau/Res/Plateau.txt new file mode 100644 index 0000000..250d0c9 --- /dev/null +++ b/bin/fr/iut_fbleau/Res/Plateau.txt @@ -0,0 +1,9 @@ +0,0,1,2,0,0,0,0,0 +0,1,2,1,2,0,0,0,0 +0,2,1,2,1,2,1,0,0 +0,1,2,1,2,1,2,1,2 +1,2,1,2,0,2,1,2,1 +2,1,2,1,2,1,2,1,0 +0,0,1,2,1,2,1,2,0 +0,0,0,0,2,1,2,1,0 +0,0,0,0,0,2,1,0,0 diff --git a/fr/iut_fbleau/Avalam/AvalamWindow.java b/fr/iut_fbleau/Avalam/AvalamWindow.java index 662356d..0714696 100644 --- a/fr/iut_fbleau/Avalam/AvalamWindow.java +++ b/fr/iut_fbleau/Avalam/AvalamWindow.java @@ -40,6 +40,8 @@ public class AvalamWindow extends JFrame { // Chargement du plateau initial depuis Plateau.txt // ---------------------------------------------------------- Tower[][] initialGrid = BoardLoader.loadFromFile("fr/iut_fbleau/Res/Plateau.txt"); + // debug TEMP !!!!!!!!! + System.out.println("DEBUG Plateau: Grid[0][0] = " + initialGrid[0][0]); board = new AvalamBoard(initialGrid); // PLAYER1 commence // ---------------------------------------------------------- @@ -97,10 +99,10 @@ public class AvalamWindow extends JFrame { String msg; switch (res) { - case WIN -> msg = "Le joueur jaune a gagné !"; - case LOSS -> msg = "Le joueur rouge a gagné !"; - case DRAW -> msg = "Égalité !"; - default -> msg = "Fin de partie."; + case WIN : msg = "Le joueur jaune a gagné !"; + case LOSS : msg = "Le joueur rouge a gagné !"; + case DRAW : msg = "Égalité !"; + default : msg = "Fin de partie."; } JOptionPane.showMessageDialog(this, msg, "Partie terminée", diff --git a/fr/iut_fbleau/Avalam/logic/BoardLoader.java b/fr/iut_fbleau/Avalam/logic/BoardLoader.java index 51794ff..d6f1f52 100644 --- a/fr/iut_fbleau/Avalam/logic/BoardLoader.java +++ b/fr/iut_fbleau/Avalam/logic/BoardLoader.java @@ -3,39 +3,55 @@ package fr.iut_fbleau.Avalam.logic; import fr.iut_fbleau.Avalam.Color; import fr.iut_fbleau.Avalam.Tower; -import java.io.*; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; -/** - * Charge un plateau Avalam depuis un fichier texte. - * Format attendu : matrice 9×9 de 0,1,2 séparés par virgule. - */ public class BoardLoader { - public static Tower[][] loadFromFile(String file) { + public static Tower[][] loadFromFile(String resourcePath) { + Tower[][] grid = new Tower[9][9]; - try (BufferedReader br = new BufferedReader(new FileReader(file))) { + InputStream in = BoardLoader.class.getResourceAsStream("/" + resourcePath); + + if (in == null) { + System.err.println("❌ Ressource introuvable : /" + resourcePath); + return grid; + } + + try (BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { String line; int row = 0; - while ((line = br.readLine()) != null && row < 9) { + while ((line = reader.readLine()) != null && row < 9) { - String[] vals = line.split(","); + // 🔥 Accepte SOIT les espaces, SOIT les virgules + line = line.replace(",", " "); + String[] parts = line.trim().split("\\s+"); for (int col = 0; col < 9; col++) { - int v = Integer.parseInt(vals[col].trim()); + int value = Integer.parseInt(parts[col]); - switch (v) { - case 1 -> grid[row][col] = new Tower(Color.YELLOW); - case 2 -> grid[row][col] = new Tower(Color.RED); - default -> grid[row][col] = null; + switch (value) { + case 1: + grid[row][col] = new Tower(Color.YELLOW); + break; + case 2: + grid[row][col] = new Tower(Color.RED); + break; + default: + grid[row][col] = null; + break; } } + row++; } - } catch (Exception e) { + } catch (IOException e) { e.printStackTrace(); }