From 051325686046c43f03b6dfd530d9af8f9e5ac328 Mon Sep 17 00:00:00 2001 From: Vincent <vincent.teissier@etu.u-pec.fr> Date: Thu, 24 Oct 2024 17:59:46 +0200 Subject: [PATCH] Pair Programming Bamba David Vincent --- bin/controller/GameController.class | Bin 2325 -> 0 bytes bin/controller/HexagonMouseListener.class | Bin 0 -> 957 bytes bin/model/TerrainType.class | Bin 0 -> 968 bytes bin/model/Tile$TerrainType.class | Bin 1071 -> 0 bytes bin/model/Tile.class | Bin 1723 -> 1632 bytes bin/view/GameView$1.class | Bin 604 -> 0 bytes bin/view/GameView$2.class | Bin 897 -> 0 bytes bin/view/GameView.class | Bin 5245 -> 5186 bytes bin/view/HexagonGridPanel.class | Bin 0 -> 386 bytes bin/view/HexagonTile$1.class | Bin 812 -> 754 bytes bin/view/HexagonTile.class | Bin 2739 -> 2697 bytes bin/view/TileView$1.class | Bin 803 -> 745 bytes bin/view/TileView.class | Bin 2259 -> 2217 bytes .../java/controller/HexagonMouseListener.java | 28 ++++++++++++++++++ src/main/java/model/TerrainType.java | 5 ++++ src/main/java/model/Tile.java | 4 --- src/main/java/view/GameView.java | 25 +++++----------- src/main/java/view/HexagonGridPanel.java | 16 ++++++++++ src/main/java/view/HexagonTile.java | 3 +- src/main/java/view/TileView.java | 3 +- 20 files changed, 60 insertions(+), 24 deletions(-) delete mode 100644 bin/controller/GameController.class create mode 100644 bin/controller/HexagonMouseListener.class create mode 100644 bin/model/TerrainType.class delete mode 100644 bin/model/Tile$TerrainType.class delete mode 100644 bin/view/GameView$1.class delete mode 100644 bin/view/GameView$2.class create mode 100644 bin/view/HexagonGridPanel.class create mode 100644 src/main/java/controller/HexagonMouseListener.java create mode 100644 src/main/java/model/TerrainType.java create mode 100644 src/main/java/view/HexagonGridPanel.java diff --git a/bin/controller/GameController.class b/bin/controller/GameController.class deleted file mode 100644 index 102081dfc92e528bbf2821eef8276ae640e8f17b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2325 zcmaJ?ZBrXn6n-|l$-=UQl(#m0r?#2|3W}E6Qfragk`@YWkeXtZC2Yge%?6VVrM|yZ zzxWI6$Idt%M?dIH0V~=WzxcsFq%+P~pR*evIO-&O_nwz~&bjA#?%m)1`tdP<6ZqV~ z5sWmV9T^=L4XB}TNi?G}jOn;+pdnO`>zFXmgey(BimZ-F1I>6%+@=f;*JSp(=yE!) z8#s+=8Qu`v4Vk?uv$u52G%|=K!>mNg%P=R&Z38z^&@peI3yye?=vYwDP_T;jlw;pk z&@#Hjci)AYVo*V&@3{7Gsp|O(l#GICC0{DrTvW7{CuyoE*fCu4D!%3UQ<ht`Rc^hX zcF$h+#X*5NS}e`kZl6eu7%N-eT&bv_b#%d6vihpb(04V^(b`It<65(>JyEJSzQfQ` z)|O}1_NA<>Q}8UmDy4L7x1J6~>$cxFQF1(g@Qfrq?RbuVMuD14O)1cZS&_tbJo|FB zIBS<DB_-3(vk=!Fv6rnv$s2Z^{4E6?$*?UoZLklCvLowT`CDVwVz5{TU3XU(=PchI z`j<_#CI4AiYD$O8@OjJ4S6wd4N^j4X%3<GFDjVKfusyp>W7wk5)SOIhZ>m<b98W=K zaym@nT3(?q>z5s`Fes%O*;2Kfx6cQFv<bch%`cZ+*Dm);b4?t_fQdAc3gTPc4wIVb z!?PxyLDED@Ja%q*j98U<Vq)SsfxS5}Z1!HF7Ik<gN?2sWwy{f$Z<{!Zr%k+qVH3yD zYoZJSp2%-j7m#tQSQ9>~CYEs9#90iPSjHU_FM-fTrZXnqks9BX;XN#xcwdGO@S%>6 zOni#F?8FusrGU>iwi|S8e0IUklj-rG&^o+Hoat$ye=?H^px<f$H&3fIHy02k(AUKp zOkG!SAUXP<8w%kGX%im8L(EZ+?sj?y{tZrrP`WmAk|oTbSM1tpYf09xm0Ft$w!d+h z$R|=~J4iep$}*ojJhf6LnM4R;WxH5f;*rqhBxmIOYsri-vU970M<(rZnf{Y^7U|iv zO)@hci976Cm5SUFu_d`3IN6&_P1luJAA*(atuKF@Ej7h!tDQG0pd%u*;VdGg4Bq4= z->t%6DCiD!J+zZlfu0NwbfhWm&j<4t5aXQ0=XipeuMy=8aMEi~(((QkMAGX}b8FC6 z5KXHqh{>Q+*+6CE3XJqa80%=tsp=ZcN7xa;HCmf<jL@=zcsjj`ohxXiTbxgfkIqMA zV-;=RGns-HIrj3t20Ec(Ck(Wq1G}&XyKxW+ZfOr0z7H8nS8xdPY=nZ7I8`hA7nU92 z>RXZ_-hUr+lHym~=w3y~Jxq0rxQfnnj&^NEcEOp>(sohM({$UtibQ&2xgkYAfTsL^ z;gO*5!~A}MXzU^q2if}+e*@^j8Ez@ddt-qY!yrBOLH!;4#<f485aC<rH!FO1C0IU> zaJU_%nfOY~wRr4j?8&LopNyQUjpsCVJe$)3DN>W7fuvH>Xp3!15lZ^zI*}SS*U@vV z=kl?~1DZMz?TB`0_i^r6N3{P`OmOUeh`ouJ+B?I^zC=vxoguEL1T!O{Kf?Y9?xAHv z6149|l?PAOMbrHV2dEHC>sxai*NN34(fWdo_>#N+it;zSy;d<4v}QllC&(ifG^I($ z%ls?k;hz}#BY>6{T@C6Z3@r>bnJ^kBg$`;n-%<`qBy0v=r4R4Z+KQ9>^2;|l@dFNx z3KOE;kGZUWY#m*>o;4i)ZgY8a;CPW7yo5ML(TH;l79NeGwZx6<Xeafb3bq+$HE04R Zh}jj+&T}5Y1$@G{!NoU8){oC7{s!a@_jv#S diff --git a/bin/controller/HexagonMouseListener.class b/bin/controller/HexagonMouseListener.class new file mode 100644 index 0000000000000000000000000000000000000000..f6471d36ba7962d6d2722c90193eaf18dc5d2db8 GIT binary patch literal 957 zcmb7C+iuf95IyUpb(1(vbD>ZIEh)Fey_m}b4~Z(Fs(?gVDy7N;ZyRS7wsq{t*`)my zJ_Csq!2=(_M<He%M{No($nwm3c6{c{nfdkm$4>yS@FI;A?xnDV``WB)vysLFR5IAa z!!#b@v56-po-&x9#Knp91Vf=Ymg3xbCoXs|@O7-tu+-yy(WW><ZhHSV4$x(RkGb@C z#}miFP%0VtL!EX?VP~YI=d^^Pv{Xy>e6B_z6{*bMHm0BaTsg;q^i_S2@)sM@muipU zW%X}LH%QFG)oX2r<bKelO1Y-=#nGtW5#foZ$Z+t#aQ|SZ3t0VNG!*-ubk9VWVZD0Q zgcu87IfwfGKp!JQ*_Pt&*&!dqJkqUT6uRO~r21N{cl1wF4wdjlxT__!P(al}8W{@~ zvKE$+Gf}f(W6Q+0g&pjga4bB-bA}B!@KqRio(N|noP%U2M|06qUt{^Y%Lht?42i04 zZRO?)Fl2f{&BjY3uhy=*osNtlJ2!D!8qI}Ey$!cwaXjw#oDZE-;gTjF>6fU`Y?o+9 z1|E0CbP<c!1f7<swNarRPSJKJNEMQVP6e$><VhG1cRCx$(@Qi_BwwOPgM5;F$^Hgr zZ%ts>+Y==0oe7d(C{7f~u3~}g3T5W0N`a&<(o>2tS1Ic@?vT}p?+MW$ziEF(l3wEy p3*WJ5;4|{{nTSJ|Fg3mr;V%<!5JC}a)Jd7F?u1nc@@|w={sZ7E=p+CD literal 0 HcmV?d00001 diff --git a/bin/model/TerrainType.class b/bin/model/TerrainType.class new file mode 100644 index 0000000000000000000000000000000000000000..0a2f465df0989b0dcf75c2e20a5d1f5717a42fe1 GIT binary patch literal 968 zcmZuvZEw<06n<`7Xz9A~I=0~yotp!u;M6%2$TC8hn((qvTtfU*u#zsN7+#k6**~N# zaYm!rXMdFO+&i;j;5Io=o^#L3b5GCjKi_`=*vE?i6r^=zu%jZO;-QWR9&wY^5Y_22 z%Oi3cmN`Dw5a+n7VTI!p4XYfVs(8jASIZ5CXr<SGXS=zkJs4Py*Zlaw&NKK*uZq=U ziaBnSi5=A&<tBqxt=F2xmo;*!n<vG}o3hCedpoy+|IBj7_K+c-O3#l_O4OJkSaCeN zHtx0ULDOox<WWUx{XN5Ws&Z<bSvlA8x;b++aJ+6lJ-=PS@tn~CZ#SFrI(@<rFrBVv zjm87&Ag8!TD|Fm{SzA*{WpCUo%xQ8!bJ5NIc+jzr9Ii7oHM1<&X<&{2m4tykJZA{c zOx8dW`v&e|!$1@<1IygRxmn?66)}dTn<sNAH2#j;_o!bim7bDWZ=c$o5oy|+esRgQ zhQs_+*!9%@ubMyHrA3I)R{0OtxE6qr<On210!frW(glPP{CSk2Ab?v~2g7Y*8-)Dm z6R@w4E+Ky=#&CzMU);$QpTynkcu9Emh?4mR-zAjUc!`e)lBl1AOdp_TcGfT8|1wkj zK6xZ;Lc<o>D^Z_FBtP9BP+AdHzJPX)fFQae$buk-Pmo1Hmi&SQ1qrEwgtebkL7ve1 rw3G=J%$9G0MYH9fAZWJK3Bu+%*o`Qir0@w9Nwb72X%DbXJ_)J6_+z~< literal 0 HcmV?d00001 diff --git a/bin/model/Tile$TerrainType.class b/bin/model/Tile$TerrainType.class deleted file mode 100644 index 50630a35a0fc2ee188c91b4c72575c5f1f8bcfb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1071 zcmaJ<ZEw<06n-w0wv_ITO$H2|Q&eC$+;mO_7s$fg5(W#!CB#n!E9p{-DX_%P{vl<F zGaAi4`=gBK-WiA4%WZO=Jg4X7x#yl=zrXziuz{CBNO-7W1vv!?1&=g@vC7Swidl_* zuJMS+D&{#pQ4!_1t|G?qsfswq4F%5_{Cnj(L#SbSo@u*{5AQ7oeb;p@Z_6?JeXGw9 zt#o^DEhpEo9V<B&m}dxV?UeTRsmgx6Ol-SWFE<#}y;`+VdQ~Ntk~}C?UY8Aq*qf`% z$Va9#<gFG`>1)EIEz-d-Rk2;GI_$PAuVJ<v@+cy|_KqQ&svMd}X3jC)PR<y3w%f_4 zuW4McU3;*}5V<68H+{emH0+LR4u&4J@u#>)Ewr7#S(&kBWp~&uT-9llW~CXuq1U#y zX^K>q4|9b}rGizfKiKK@2MV6+Sl~~Z(D4G46S;iyI+jq-aTiG)vxw-J=O)TcjGH(j z43p=B;Mz#Qc`<scw$pP-$XqHtc8OZ+&}t8;@%s2Y#3tm&!u}2R{}%b;D(zL6mQ*gr zxG;c_v<W160!g7j5(!Ml`GqM%LJ&7`3k-|I?hx{$jljOZcMAU}Vhp#*%Hp3)@k=7^ zEZ!%)T3E__Mc@?D#dsf|7kr}rBK-6LN@h860{QcW;`hko!+ofDK=w@3M-s_T=R2fk zSn;1gJw{LvO%fy|h#nARLXb&WkSRf?6+vdyA5_6VqUCBzBZQ1*V1x;yDUUE^G?fu% njAO8KQ5s1httipmC7el1Ax%CXGFTRv#SKD@q)NzQt{D3R>U7r@ diff --git a/bin/model/Tile.class b/bin/model/Tile.class index 1acfb64e5b9b16fd2ad29ca03f6c52ba21d59d3e..2c471096a0da1f50c42e8f87b0e3ec6348b8d7f4 100644 GIT binary patch delta 754 zcmb7?&rTCj6vn?hGfX?f75ay^mOqtJp;NRD2w1gMv>;L~E(j(@7do+%h_;=kEhf6r zHy~y<?tKGyYT^T!_ztdo2t$nLOslwMF~6I0?svX>?z!{j)DPME_WSc!043Zr5ygB6 z3kD*{n*@td;Be8z7|t0`aGp_QTwvIYr5G8khOovea<~*iNg&*JyIp6$-4mF2RBw3= zw`spSJTwzlVHo*EF*TaBYX9N~V)u<i5-EY`pkQy{vG=OuO2iPCm_$lq8Z#0TNJw19 z6^W}TOH>%w7}pu=C<{cYp4ad7yH01v?LYGxy>T5k!ni3>#RhFZcV0U7L4Ut#?>g;< z*Ann6N+}%w+u&QpRyT3W|ER21pIF1}e?65?l=3TTR^Q^Y@AyyELZ&XD*FEpWK}SH= z+HJSH(R6w}mnQb!s{4<%jQ>e}t?dZR2f=-9Elo3^VNdeqY1JWkT*TA<2W>8!rd$jf z(IA?T7^T;f^hPwcK=o5AEFG&N2+^ZQNs}Vqsi00df+Bv=0Sb>fC|V!c+UBA~vII#D zq%lsGT#^n{Gsq!>JkFqqSuA62Xr>(@E)2sUn+$DopWjDv3v4z9m6#_pi~q2oK!u2q zXcpN(n$+zCOZl3BjWGERuJKTxUOC<gkyVZq3eKWNt4aFXxQlJ-ZkggR#TV&Y`2!UJ BdjkLf delta 788 zcmZWmO-~b16g_WdXgkx_GA-p}T0mM5S|}6*zW@<IkYbC*G%j>i!;2EzPSY6|uGqLY zX4d=>P5c2SF8l{BT<PA0A;x<P2_@!b&YO4dx#!(;-*@>bcKqe<$Ik$6;<1GU@?jKA z*qF5l<`{~6oVO6if(Z>JhDC-YhHDJVNfrp>7PCm<b{MMy(VFUX>PM~G+qM#r<yK2| zwi|WNQ=UM?KTCSHfb+c4bPrXdR6A;@sSnNftLc29H`F7vCSbi({&_?olP_PQ21W7Y znC?DMo?lhX7pmh)jKC2X>bavwP$GpviBUKb<G3O*gkgy_tV`U%hQwWlO@@06Ti6h= zw_Mlv{7$`HRsJjY(CZIjJA(TXJJ=Nnev19rNUwolT`TDiuotwnmAIe3l=`Nn4E7!T z|MNr3hRQ5j38H$zIuHm|T=(^xc2Lz%#G~Ms{?wuFY4~YwoAwX{yCqBq&x~9)L$M?b z!Wdy368-d=HoX}c?y^pd!r}!hg)r$QXePt7#;A_o_Y|7=Lm`a^)GhjL?Cx>VEG)td zk;X`P90QbhFhQp*CXvGo;XJ0Wgz0lJ;}iqJG)<D3AQJcau5WUh#p2Kj=SZwb9WHbW zbO@VBInrV3*S^vqQ`si4j0kC;*+_&&cP=tfGJBO68r?fXyFq-7y5nJJv}`0d9qglu Phg82p@dz=l(|6+^*@}Wt diff --git a/bin/view/GameView$1.class b/bin/view/GameView$1.class deleted file mode 100644 index efcaa4dd8e366e787b2d602711f92439767c16c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 604 zcmZWmT~8W86g|V&%9jFKYNcA68Uxh0?Nc9Ye6bX0(3ogQ`Z&TBr-9jIW)SsP=|h9D zNq<0pRMWf0Lcq=LoIB_4x%b?eKYt&71NeluNyPCYg#?NoUZxPms)tt|N&*RYq3qTN zfu+`^qLE*h18Q@y$EnXsE4MFDEzjjzKjfwK<;eLhc^wShq13WRX0Or~h#dr73d<=? zN5jDxnNxYzXC~JpcWmgKjG^v{x?!qVu1rgPQ3KLe1)5u@PJ*H7&{q`-v;RHqhHbfY zO?Uc%Rl0Xb?jq=Vc%8vIHUt)q$ht;gT?QT&GDzZ$Kw)Bb(jm-ja-o@tw>}DFnp%@N z=u2zKK1r{9JK|pcw_~ZP&vs^10{M<1>8L?hvKQ#OQQhfavsxakRGtp}{Osc8X0y`9 zCf`<qFHYog;T#-A_)8)Mfiy?&cpqg<SKt4HsP2prx#KO{=QY6y)OgKe@ky|a*dx36 p3(@cS^gX|0#BS#_4gPD1xd?K|GsaNBGFBd$0@fHq193)v{sCh&hXDWp diff --git a/bin/view/GameView$2.class b/bin/view/GameView$2.class deleted file mode 100644 index d772ee02d88c085090868fd8a2e6823b1a40c135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 897 zcmZuw?M@Rx6g|_{ez9$#2%;#WF0w7iB5M3mV`3T<Oj}7H{2<Xd-JP@p+uf!+ZFv<R z!vrw;!w2x8jCZzeL~xUxJA3ckbI(0@_Sf$pKLNbNiwx3O)XUv0GPsw)0+zD4kL4*m zz{4zkK1#t%;W5M1fO}?JoE}I|FcfP8DTelrIOVOt*S-ovQnh7hZZZ@`(RaKf4(XT< zy^_9EuNh41O6)pN>5w5&4O}Wys7YTm`kkie9q^_uY;=NtD5{=xPK3*_WYv!OfZKei zY%vhNvg<m&t+y2ol-pO_IjQsRI6u1|^m~qY8+DPJFx=1}RBqdMydac*t1eVKa8p<{ zV4=j2ZirCr1feouAZH+pDFb<w4Xj~3g(n6!V5hKY;3>8YJi~KBizJ$qFt>>OuJ4Op z)#G6(LWafvQGes|t`a?B{!cnXp1bZPy&0@az3&B*8jiF$wZkEGV87qvzVIr$T7|f! z*CI73J+0#&HK}Ca6N$n|z`l~6y)P8aYWnJEY4|OnCOL#-mHw(es!VjFW+pJCm=pMl zOI>1aOw{8<>qGNcI5e9hhD_Jvju>62*=x;|4zWx(Geb8uHa)Es2gs8A+Cy(11rS@> zt<ra#Y@xh%4pv@2N38q}@vr1!n4vXE7C54{h}m&cgOW7NO8E@z3<)x^3*7jQWDH+0 zqrGF-1yUL+7D45sN*^(gPcZQrHz^VaGm*etbZ8#8$R_CDxs5xKX8|i@vs5=tmYzR8 CdeG$n diff --git a/bin/view/GameView.class b/bin/view/GameView.class index d99d8eaf21de856bff1503d35db86640692d0819..3d0e8f8b98dc310238081b57c0f1365c53d62234 100644 GIT binary patch delta 1883 zcmZ8i3sh896x|nO-tguk0|>|{%37r%tDGf9WN3?|@)LeaC8bhFc?_e&49<X<l|*W# zsHra%)6%l9nQ2&-mX(&3S!UTs%l`H+`)B!UpTWW<i*?>T_ny1YIs5K==Xmb++=g8z zwrm4Xs5+Z)q0zuCCgRYTh%(GHFv~<jt20|>Zgt`|li%A7%#rV015GB9&?wG4G4myC zfsF2u(Lw`@Omx6v1Gb3_+$qiyCzeXYGMWZ7JF(orT_&<+wG1o7tQ2#%n0v&m60_Qc zdvTwP*0^v#9uW6I0}q+#Ath$xVKI+5ik<9-e<s%AQAcrX3>a8vA|H>5S#RKR69w2{ zq9Gp}1?>qFgV7>plb9z3{3%)3EE}E{^NcjKMe=Vo@T`gcXmk`0YK51!o-?rx&x?6M z%!>xL3lu5cVWJc-i8If@%TDYxF$}MmconZ@3i6UvqP%Hh58g7cS28rVtWh(Sdb{PE z_?4=Qh96Z5DU*Ctecrm-K+rqT7p)rNtI;UOHTL0l8HHmpPQyZ_LegNXE~moE8Ce$y zT2YO6uumaXwoda#>jNRbcktyAU$v$2F5a{ICU`R6#|Ikqn5N;w1dT9=I~rr`>V(b( ze(XQB+v}^Z^<EmNwnEWBI3y(<(D)D^DL6{3P^}fwIEarmZa|H_Ey2?;89|NfF<s*m zRB3#Q{TiR)bB!s882CctOB~Xu!&C!bX?!itK^#&@pBk|0y#uXjK7TkgAQGq;?h9Fj z`UaI6-=fmMcN*X02L<=(kt5ly6vfCN@smPB*NNd!Z6q8FT9N<IhJ@>)R%swwYlWm- zKMrgBj9)Z<#cz`Rca1-!)<4DkB^4dP-x~kmsKzlI*O-V3jamd1%<6E374)`dJ%N*k zf>uh!X%#P~9aPZX>F~z;Rf2uQajwgceTH&qWhkfZH8Ro@-Ka`-C{rt!(uPXXs=Z2X zDL0yx-8Hdauim+(XEs;VIx~PrS4M`4O54;h!m4eVk(dzYbgLAqN2S_Lu1Z&$RvlDF zjTxx2kGTr6Jv^z>aCmZE4Qm|~A_XNuUo>h(6?W&^dv!;9Sdw9n)$3I!J1MDb5G6oa z#)-tBaBXaS9eqmee}6oEiYB&3a$;YqkYCLhs+KljuS;5MP2yY`(rGi$4w*<sM|hBh zuIPkr=!`tx-2&vGAI`#MI2%`Tb^^L1z}p?-Y8}o)1A1Z>yqJq#SipN@qc@syK5L-Z zVwtwKuW67>-H}LJ$QSKG=DUdaMU3x@V&a$LV#>RSeO!WSMs-5`NhWg`C^L|4AjE&A zfcztT`{Lv}2s8t8=y4v-t>`gkGx9cYtRU$evH456J_RWeIugEz(+0mY>>bG?jVwoA z-X<8f$DKP=w&ar`@I}zLf}Ia##lz4CSD^$W=#3()SF`WY?0XDvQ8{knDM+;j)N%A- zeG1W2O)qp$C~j+d9N**dY|2N-i6pFo6!_VA6%$RuaDoU-0@P7DaiV6a*UnEV?<OE! zVl~&W_9<j7Lgu5mfKmPF59BLRZEs9T%Q%B0-r^X@ffT!>jgRSs=d*H(j?>udPxeaA zWN$X3`CP<sHl&W~AvhkE0n8yub6Hpuk9r<EX(CDU8O@g_7Tq&#dO=(N3*p2f3T-ik zWK&X0dCbd5YBLXfIhj~NY1~LUrRjrdo-ElZKY73^?p*CQ<-){P-5orIZQZOwJOwBh c;%1c@+oM#v%2F8=@h<uz_}3Y;8*gCuzcmtoNB{r; delta 1991 zcmZ`)3sh896y0}l<_(XF!$(CBl}Zh;)fA=WGLvLgYCyU~mReF{JYf)KU_OGHQK5aT zOnZJPKdG4&R$5e+l$HIpGVNm@D=RB2``FhqwS5LwEORw8>)d<ZJ$K)8_S@&q*6btM zjoXfH-U8qp)z?G<nheY_;XqS7N-@{K4JMrJ&W-ZqCO2+2InFb1i;TA#xXnZ&n#7qe z=5`5NAhU%syTgEOq8k<&SZtyPmWZ>|jb@3slco`Oxv|W^audB}wG=DFtQ2#%m{np{ zi&>L^d$3k!_a<N+?i2TZ0}q(UK}$ThuNU*6E8op}_%ZPi9(Lu&=750>Ci1XR%p(RK zH8BXSCK~hbn4mpwVl<u*vq{X80{)aNY?cjeVxE?Qo{{sn7<ksi2sF9!N43LCS<jhx z9$Uq{Am&8_F9{SWec41IUJ+-$fmhvl&BUeHW@0;DA0Ws}Q;4$D#4fyT;2k-kNkNYa z1gua&wJ#jD!mW!`lTz=t_KaJu8Wj?Xt#G8ss+nSi!WxzED<oI>ru)3nh`-u9(ig5Q z^3`fwhRaV_7-vN^uE3QVQ&FLiINFM4m0MXQQGc~XtoN{6Aw{qnyy1F(pu#))qL8n~ z(s&;qD0JtF-QU?Q?L&N|(SR8mQ*f0=E$TETVv;?^nHg7!J$BHU)~ga9YkY!F6<h^Y zAYz3y_Tn>*t5IjKc4jnIqef#UW@&s5zs48Xqp=TPYJ?Cr@Ri2b*sn1i^#;Dt_*R^~ z*stK3?zif_7c;9;PWqiG41A|?02LbFqr$)s8b9JEg``;ENUOnD5e$^DK#Am;2k|pe z8jpv`lf_>&e#LJZzvB-%?2yKvlG<Nl4od=m<A}yl9McL)X_SMQQPe1yHNkSL+8aAX zIaHjXx@hH8F0BkPZizXbS9_bQZ(OB{w-2~Z8(fLqhBCEEP()4|5e!Dck&v&p$cj`3 z%flX*N=$;ELszXlD#=jETBWGe)?%Ys4b06hJg$_Xg)uGo>LcDl-;7{1QsfKxDy-1Z zoKkzAd-%!yPKf_6Ppu{KPKUdj>P{`H9=0!GYC@V;JykD_M)>Vr34_eue5-}Q;IwG1 zouzkn>7&r!F4JlD2JNy_5(kf>7$|CoXb=jMWAifll-|F-k3QuSTO*UPk*egV8ADmq zR@n;^TdZk(R*LSlY3PEU@E{!-{PsmA`m^hE(TDwf5{984F65K37(nDxiI9r`2J#i1 z&dj}-gEKIX9XB6m!N%EW<}L>)#Mnuzy4E(zNdpj1doJ(8A-uDO@{IGiXBhHvJ{x&B zCeSZq{|6Y=3vtJIpvyq1f!+p!{3!+G9pcUDkj4;b24*vH2S?q8oQb(=6LJd&Zltdu zN6MuOrk-x%5>D9x9ox1O#^BOSdzGgoE;rp}ANFJy%a%N{1dO2_O9o1q^?2qx0R?Qt zVzNJ(3{;WbI;u2Ec4x5TC1V5X2!=362O=GX*CkEK?<~BEH~KUdR!ztNi3^g75Q`5p zwI~m4h`~6a4%2an{A28;CQpjx)hCwkEV$U{nV8Kta192N{Sov>;`&b3JpaoYdp-u) zmTVVDUM_mTTpq?Nr-PU*dh*oWh7l7tp`eq?_UHv%=j9T^S(q|DM{qKT1S}$Diz%2T z6u?r}wS<&4Gn)5OEZUPgb5JK6%izXxN^b>D!Ai<yH7>v!jN|`98P-y)>nN7lEK#Jo zB{d^mcDBFG7Vcc1#Q&HMAs<Z57}r@%3-xd<V;#7Tq)3epqUZ1hN}h3?w|{cl2bHce TRR(4M27PIdHyN`7Z(+wj1Im+h diff --git a/bin/view/HexagonGridPanel.class b/bin/view/HexagonGridPanel.class new file mode 100644 index 0000000000000000000000000000000000000000..e682ddc64cbc5a1b39c71021246652a2b235ee43 GIT binary patch literal 386 zcmZXQO-sW-5Qg7Pn?&2%FRd3(dXUtEIeMsgQPfJ5LZ#qwYsRqBZeW{!=&#aKMZq87 zj}m8VQP5=>X5QIn*mpiYU*7>7pizK}vX4pu4yrzCKI#JAq0%Zl637M3o<ROMjY*&q zDNR@7VV}&k><?I}CX{sy-H|aAchw_Hn?W<WmlGMvX%?QSA?cAybxWYoO~>YzPL%~4 z=QNW^s?UsyJ5tkN-!dh5SQn`O=WS<$v5BH-_?KN0vv4$3Itecp0|mB%-;YG{AsuIz zQp<!)%X)HycDvcbHuAgxdmOND_#9Wb+F8_qw<qQh&#VZna<pp#XD(;#3B~36U7jPj aQ+|VUQ!Bpkog?@3!+GCbjwRL{tbGBM8c|vR literal 0 HcmV?d00001 diff --git a/bin/view/HexagonTile$1.class b/bin/view/HexagonTile$1.class index c283fa52daf74db3c1ee6945634e439f577664e6..5037da24dda8fbfea07c6c2570af62e1e40bdb7e 100644 GIT binary patch delta 167 zcmZ3(_KB72)W2Q(7#JAL84M?K84Jp&1ea%)Bxm?07O3Rrr=;dg4DJ<G<6%%|(BNU< zVc_Lq&}7i!VbEsKnfO&+NEgJ`0}=Wl!hk_*vKpfoCnJL(Sg-!%env5MF%8XV9|%7r zwWugDGcTmFAk~_Yf!WtJh><}UDmVEWqwQn`rfrOoldm&5adR;+GH?Oi#UQ`|0KG9N A1ONa4 delta 243 zcmeywx`vJG)W2Q(7#JAL8B8W}8H*{Z1ea%)Bxm?07O3Rrr=;engk<KVPW0;)Rp(*Q zWYFSa;9=n9VbEsK;bG8a(3|){UPvFrHUJTZAi{`2XR;!rR~kEmF(ZQ**bIG;87d*E zMMa63c_Ebrsf-NVC_J{Z#GKO9VnzmO4b5mD?0T#j8JK-tgBTekkQGec$Y{&U$iRir jGx;6kHpYm_OPQR6g&3F^xPX3R5a3{tU{GVwaF7H5r_4U; diff --git a/bin/view/HexagonTile.class b/bin/view/HexagonTile.class index 4ba5635a9453d9630d864fd29908956390bada26..4fbf64790e727eca5b290c218f17eab56667a230 100644 GIT binary patch delta 852 zcmYk5*HaWh5Qo3LJ6Lv^0x?yIfL4hmD0&9WVqx|aM7=Yfi0gSO@$fuB#eiAFyyk>C zzgWKcz`H*9H~6gof?9TCDEHx;>EBFGchB^`AJ#MM=%=3_`hl6eb(u)5Lj|i8bvCPA zLacGcSgVNYhM3JdHP$OOC^ot{Y|`0ghce=7Zc)^$xz(m2R9y`&L)fOWr`Yb2V23z) zB-P$&v&&^9wJwb`DVh~6F3V_Dv?)>!lW2F@Lt4+?tH>z!*>t!vcB-*oalq!FO_$A~ zcVBEPblB#I|IKPBIckx=E18KU(`m1<ZBeQvm9`jLR@0i=k!%V3M*?+LxBodXCij@( zI42Az>Gr<|iW8?eZ8)P?!cxOodJKzLY&b`+;XD@%7gf7Nuf@<Nufq#_otf}LZ*OBF znn|aclZHwz8?JEG;L~Gs&2XI?hUG*IH@W2>3YN!j8}4w|a8Gex@qj+VL&YPy4Uc(Z z^VIN6b9t`8UnpK`+`NBr2P)HuuMDqs{SCeTk6_pPE1_a5cX(N({BOzqSqEnnl}0-o zGl|``UVG`lO_ct*pxA--q(vYeu_*X`MgJ}M4cWH~@})-x$qN>c$6$&X;yd<uYq(!& zhn+&Q<V_ul{1$tvHOlX^`>IMs8!O!~PCUvOLAm%;$ZVoKZJ6myVIk9qNal6SBF1du z%wackX=9$>mD62NEhjFZQ1(ryTJ*)fajumw7d0Y1wt^B?GJzWLuBD1qqONAGa3fLb ziTNL$(N@I&>a;~SN#r<_MXjVk_IuJ}3Gq%cUw(-kvMYkYU|x`*oC*P1sgW^+HIOS( QZ$M`94a$)^mr0h+FLTkRL;wH) delta 895 zcmY+DSx-|z6vzL!E!^Jgq-;S04XB}!MQjaXTnJJ{g|b+sRSRXiltPQ8t)+s12;z!Z zw~GsIxa0a@criZsZ2T0ync#OYo<oemm*33UXU?3N$z95w{QmpPR{%TkQN<Rx6_n#J z<A{tF6()F861<F~>~KuRaTa`xRz{l&1%BSOD=0w+i=B)v7Q1C=CZ`ink%Jyq2N=C7 zg6N|l4gD;KWQ0{%;Z|`15yl`Rs-g}tMx1d{fgK4IE(~$*B;yogSjLD->uDB78DlcW zWt@>Q@#%*wna;|X)PG4`l~WQj`h!VtFp<#0(b`xfmXL8y!kWJt?`S+Ip{%57FxDH4 zIK1IV(58nBZfRQoY$)=a7r20n0+%o?Py?rgoB?fEb7&(;M_odThr)rOiv0qYaYbN; zaR3Jeu3}c87G$`Fl)!b|5V*;@TS)14qqX3+fQ~tVJD8PmSKuD*3)G`gU>*<jK4Yox zp}-?N7I?x~U_8Y$f#-}De43YdCGeU{E^>`GjJHThu>3pW%5?=Q@lN19+dokGW#jm| zwX1Hssu4>8(|Re>TH-4GuN|qhvEq$3&qz2K2sLYQ+e)x)rB$nfB^dlJy*hn9%R*z6 zL64jX3$jpvZ2f0?nUt$%%MK+EX~-v=Rd0|hq(Xf{UZ^f2os9-&6L}XSk6yC?n~CN0 z`gUx`R_sFs4Z$|JX>PsP2|sorgx!duN^dn!Wz|qdC*|Es-ZiK~t-frYE3G4KJ&mCY zg=nCRjTG60YBZC^jTW-`h#m0gi^>M6QU9hy{XVMNMitwsYn|lZO=H+Yk-gYMzs8L8 qa--2`F~Ufh00ZSZM5_rBozy|Qe6rYSMW&gm1kvEkqcN|;0F*yO&9ZC& diff --git a/bin/view/TileView$1.class b/bin/view/TileView$1.class index 2a5831f811e8eaf1259b1347b73e23126714c9f0..ad13987544ddc67f0e1b59e68a4d0474deed8eac 100644 GIT binary patch delta 211 zcmZ3?_L7zB)W2Q(7#JAL84M?K84Jp&1ea%)Bxm?07O3Rrr=;dg4DNDM<6%%|(BNU< zVc_Lq&}7i!VbEsKVPufXN-Rs%&q>Tn*Z0d0E=|sG%S_ElaV;v!FXCa)1u4@55&9s) zfI(}rGNX$dBZDB=SpAUHqN2piypYO*R7M82vc#Oy)M7>kF%8XV9}ET7j10`au0f0p h!ce)%XBllLi!*Iwbe(*T$%&hbfsug==m!P?4geu}HY5N5 delta 243 zcmaFKx|ogY)W2Q(7#JAL8B8W}8H*{Z1ea%)Bxm?07O3Rrr=;engk<KVPW0;%Rp(*Q zWYFSa;9=n9VbEsK;bG8a(3|*HUPvFrHUJTZAi{`2XR;ilOBy?aF(ZQ**bIG;87d*E zMMa63c_Ebrsf-NVC_J{Z#GKO9VnzmO4b5mD?0T#j8JK-tgBTekkQGc`!D!3N$iRir jGx;gwHb$4pbC{fjg&3F^xPX3R5a3{tU{GVwaF7H5hm$^< diff --git a/bin/view/TileView.class b/bin/view/TileView.class index 0dbfc178de18ab678a7042cc8a88fad15af5b354..609dff24adc539d6c6078787eb1f1cabcd8576ce 100644 GIT binary patch delta 766 zcmYk4*-}$M5Qe{#1P(clK%~SKN~=H<h=9l{V4?&uLS$7DM2!$37)T5;2#UC`xZuGD z@X}Y{!W-`_uk^}C@RkQqdvGahs=n#Jr>AFndcJzzdzL=^So;7p^47vfz>Sxn$x#a@ z$1D-;+8r|K(Bim8r^X2jld!f<x+$Ye%Wjj1D;NZe0#0d9k4CRWAN@LXK+8ds(-zwZ zSe#`jqIphZ*rJ&cjq@6#ZYsE7agj^<fT+f0jWLsPOXipsS2QL}CQafdQ!Ag>ORpLf zOvEySv2;2bpJ`7fl4*l-Z})U^JeH`o*Ntu?VFw(gp=reoNkuJ(42q_r*=TiiE>qo^ zj;1E#W3#m(MT%>Rv_>OMidiy>I_eeI$tvc!VZU?iDw$U-a8q%MjLD+nHcN`bv?%Uy z*Z$`4joee*=Yis(#v_f#JW)K=ct%3;oMn?2ikJGVS33D?jTN#6`TwrAQH-LBHws&? zuadQgoxS!)=g&>W-mvd)kzZU34ZF(*=Hi*L$w)L+wo!Z8pC=idPsI!zBVhy2???G> z!Jf@o-kgt1I_Rd5?RadJyLfObITTA@MYBW3PD*5WDV59YrAeC5MmZt&NvrouGrjg& zZq(zK90w$}ihBICP-FYeRbQQW>nWl^b~jQfyPKrnZSrDaTIrXyAp(pNw7;8sj27F< zn;Gbk{hicEL>*lc9}(3fR-a^nJaYX`r!(IvpSD%BL$V!_*@YpWs8Xyg;;WFE!aVtU I&78sg3q>D`zyJUM delta 791 zcmY+C$x~B75Qo2)2R!l|mMDsdP*6r8fJRFYP{Sg~8jvLlh^P@F1Ve&|Y>J4xf(t&d zyn6KP&4X8~EN|W{{{YLQe}H8V<pJMReQ)|V)7{h4^WO8#v-IW9$4@{dZ)|+jyD8?B zMT3n=qb<g1EjL*-YokS@Rin+uqFv8|ZoG78v(w^CQe7R`WYDFRZjBzBUP5~7S#6%P z=(EYD-e!RF;yA#d#s!;dhBPi}Tyj&wWt$U(b%HAz!x|$N5nKLOwK1wOW)Za*x45?U z^>=y9AY(K#9g0j%g`@F?L@Y67F=4RnpAwp%j2M&@2PYCEk(fUejYYi94<l&A9iJ;d zC83z)y3^sxE1cqnVp^k;D#cA^6y;PXW|>pWv*4__atm%LZnLPk!;Hm};x5aI;{+7< zxNnf_ESp)*ch~m*2a1P0QasjpqVbexiWQAj;)>_IP`uRnUg-pD8n2l%NFNW+g#F>! zY5!(9ibFVxb-lj9oYQP}W$)Tj&6YwxY?y|TnOofI`>))0Nee}V-rm{h^zc|mc+$J+ z?A^SIEzSn6!B(d`c{MGKB+_w9TX&P`{7POtl0`B*rP0}VM9Yzp$6jf1o}8_KD)teO z&NQ;0ZVu2#k@Ges>?xHPW$fV~6_iSA{f=#|`;LlQ&JNM?IVQT?wv2#0f>znnBWwNC zFhs5M*(xvs&QB{o*eG$DI82MIw#n`w&2-XEmqdV6Qp!xzOgH5f*NE++7I~Lag>+sr YAZIXTCSPW%<mlyOU5?aJEt%YZ0Y0jd_W%F@ diff --git a/src/main/java/controller/HexagonMouseListener.java b/src/main/java/controller/HexagonMouseListener.java new file mode 100644 index 0000000..976944d --- /dev/null +++ b/src/main/java/controller/HexagonMouseListener.java @@ -0,0 +1,28 @@ +package controller; + +import java.awt.Point; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.Set; + +import view.HexagonTile; +import view.GameView; + +public class HexagonMouseListener extends MouseAdapter { + private final HexagonTile hexTile; + private final GameView gameView; + private final Set<Point> availablePositions; + + public HexagonMouseListener(HexagonTile hexTile, GameView gameView, Set<Point> availablePositions) { + this.hexTile = hexTile; + this.gameView = gameView; + this.availablePositions = availablePositions; + } + + @Override + public void mouseClicked(MouseEvent e) { + if (availablePositions.contains(hexTile.getPosition())) { + gameView.placeTile(hexTile.getPosition()); + } + } +} diff --git a/src/main/java/model/TerrainType.java b/src/main/java/model/TerrainType.java new file mode 100644 index 0000000..2e6c009 --- /dev/null +++ b/src/main/java/model/TerrainType.java @@ -0,0 +1,5 @@ +package model; + +public enum TerrainType { + MER, CHAMP, PRE, FORET, MONTAGNE +} diff --git a/src/main/java/model/Tile.java b/src/main/java/model/Tile.java index 8df26c8..0195d63 100644 --- a/src/main/java/model/Tile.java +++ b/src/main/java/model/Tile.java @@ -3,10 +3,6 @@ package model; import java.util.Random; public class Tile { - public enum TerrainType { - MER, CHAMP, PRE, FORET, MONTAGNE - } - private TerrainType[] terrains; // 4 terrains pour chaque quart de la tuile private static final Random random = new Random(); diff --git a/src/main/java/view/GameView.java b/src/main/java/view/GameView.java index 6d79406..77c7a46 100644 --- a/src/main/java/view/GameView.java +++ b/src/main/java/view/GameView.java @@ -1,11 +1,10 @@ package view; import model.Tile; +import controller.HexagonMouseListener; import javax.swing.*; import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -66,14 +65,9 @@ public class GameView extends JFrame { } private JPanel createHexagonGrid() { - JPanel panel = new JPanel(null) { - @Override - public Dimension getPreferredSize() { - return new Dimension(3000, 3000); - } - }; - return panel; + return new HexagonGridPanel(); } + // Ajouter un hexagone à une position donnée private void addHexagonTile(Point position, JPanel panel, int hexSize) { @@ -87,14 +81,9 @@ public class GameView extends JFrame { HexagonTile hexTile = new HexagonTile(position); hexTile.setBounds(xOffset, yOffset, hexSize, hexSize); - hexTile.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - if (availablePositions.contains(hexTile.getPosition())) { - placeTile(hexTile.getPosition()); - } - } - }); + // Utiliser la classe HexagonMouseListener à la place de la classe anonyme + hexTile.addMouseListener(new HexagonMouseListener(hexTile, this, availablePositions)); + hexagonMap.put(position, hexTile); panel.add(hexTile); panel.revalidate(); @@ -102,7 +91,7 @@ public class GameView extends JFrame { } // Placer une tuile à la position spécifiée - private void placeTile(Point position) { + public void placeTile(Point position) { if (availablePositions.contains(position)) { HexagonTile hexTile = hexagonMap.get(position); if (hexTile != null && !hexTile.isFilled()) { diff --git a/src/main/java/view/HexagonGridPanel.java b/src/main/java/view/HexagonGridPanel.java new file mode 100644 index 0000000..dd9fda6 --- /dev/null +++ b/src/main/java/view/HexagonGridPanel.java @@ -0,0 +1,16 @@ +package view; + +import javax.swing.*; +import java.awt.*; + +public class HexagonGridPanel extends JPanel { + + public HexagonGridPanel() { + super(null); // Layout null pour gérer manuellement la position des composants + } + + @Override + public Dimension getPreferredSize() { + return new Dimension(3000, 3000); + } +} diff --git a/src/main/java/view/HexagonTile.java b/src/main/java/view/HexagonTile.java index 707b475..044363f 100644 --- a/src/main/java/view/HexagonTile.java +++ b/src/main/java/view/HexagonTile.java @@ -1,6 +1,7 @@ package view; import model.Tile; +import model.TerrainType; // Ajout de l'import pour TerrainType import javax.swing.*; import java.awt.*; @@ -84,7 +85,7 @@ public class HexagonTile extends JPanel { } // Obtenir la couleur en fonction du type de terrain - private Color getTerrainColor(Tile.TerrainType terrain) { + private Color getTerrainColor(TerrainType terrain) { switch (terrain) { case MER: return Color.BLUE; diff --git a/src/main/java/view/TileView.java b/src/main/java/view/TileView.java index ee0ed26..dd10353 100644 --- a/src/main/java/view/TileView.java +++ b/src/main/java/view/TileView.java @@ -1,6 +1,7 @@ package view; import model.Tile; +import model.TerrainType; // Ajout de l'import pour TerrainType import javax.swing.*; import java.awt.*; @@ -64,7 +65,7 @@ public class TileView extends JPanel { } // Obtenir la couleur en fonction du type de terrain - private Color getTerrainColor(Tile.TerrainType terrain) { + private Color getTerrainColor(TerrainType terrain) { switch (terrain) { case MER: return Color.BLUE;