From d96f29c3c5411199d6b754029d4b8d8841793022 Mon Sep 17 00:00:00 2001 From: Nic0Nic0Nii Date: Tue, 28 Sep 2021 03:53:25 +0000 Subject: [PATCH] Ability to select blocks. --- Meteo_Engine.jar | Bin 14601 -> 14681 bytes src/sig/Block.java | 16 ++++++++++++++-- src/sig/BlockClump.java | 4 ++-- src/sig/Board.java | 21 +++++++++++---------- src/sig/Meteo.java | 2 +- 5 files changed, 28 insertions(+), 15 deletions(-) diff --git a/Meteo_Engine.jar b/Meteo_Engine.jar index 3b221ca810faf828f9fe70a05af1c41dcbbb3fd6..0954251f9270b00651ed7870194fe77f2c0c8b7b 100644 GIT binary patch delta 10716 zcmZ8{b8scfw{e=-PP55 z@9zF%)$YAkg!8I1l9DVW6b2Y9EG!r_kw5|xALQSIO#9zMQXMm95&<|8@B)Bu_Vtsn zZ9^}1pD`Xn1hqWnt0jQ8Sv@~9K7J?^+od4g7(vn*35K-Skv4y+{Kre-zQ?cA=nw0n zVs^e)m}lbWSzy1@!lrBw1bbJ;@0Pdo%Z84Yj_JEMVd2j&hKO-$*@M9_HO7g%bp7i@ zok8)DEFe$(1XQ&GLy=w%;5<%0C$tmjimtVqr1u<=IP1X>`HrYFtQek<7PCv!keM3? zOY2d{W`1Hbx$b~82nENUb;DfKT+@gJN8QZS)D*h4#jc+Vx{<26N|z;@*__KYH5%co zyVao81zdbRrHO^tlRv3+LoPfe;ARzPR#g>yrrC8agu@7v;f*c?cr&~&$_*6`7-SH) zk=BHEY3^*ZPE{GQ&ZUUdTewJ68-Y8%Mxk7a>5yP?z;N!(O!kc+(E3*M3&i1mZdhq* zTcwq8aU(@R6t{f{g-iu7G~c4s&~ z6s(^&JI%3FRz}%$jzJyt?S#OV0L4fako^HV;Fit*_p3S zto4ZGdPG?S;&s&h^M+g?T4jngpNx3o{f=poUtI{un&`S#ID=F^-Aa!e6YqZ| zDo@SN_uDT79YJ}FJvCawV)Rp&jRT)Nfa6zuwqmXMjkdsGpesj0y3PPt7m3BmVxr}& zV~}t=Br?*%iDOPIPh*tB7iClky$polntA)oN2bCbzyOP{5Q1-(u=kh!m_NT&_AsiE z#$1Z}$zVZ9z$y01uSk@3Ugr}|9`{&1OUY^!Ua|*#**g~hfR=g170_>r9O_YwubAnS z=j<+sG8iTx z6L_?%4a^2KB0T>(`X*#$XGWY8z?9I!l-HTMDT%%AHg|d}Eu>Xhxc>X)OWNqPtm~Yc z^h4RD1M9Ko%K|3rSvuQ(lI5szb7XE<`SroJa4Q#*!cfr+tj~-HiW~RqPf-5x$1O0MWs5@_mO|d2TF(G%h0+Hi~0T#E6KvZ66hMM@<4%s z-FyK9`wzrPx`CnsYQlM{E@J+sy40b#4@Jw5J!=@Ysmqa{clzJ%uEBj-P`GzR zz0!kF-f9WC-y9Ky5{EbA#vChlgs3Qpm#^W7%YC0-kITc7w%TT=f+xgx>%?b{5-)kX;EHJixjiTA{$lB5z)6PrZ+EsMFWY5 zPd$!-Op7a;_0!MPlhhyXmPfYrp_jKz9W;BlapNR_zI-y^*?U%FV;wv1GvzEur;m?ZE_Yq{)kZ69v4FJ4)_e+d5UL*A{&F_7Cz{Dde{UO0) zYo}rb%(qKMG@4RO7rfa7bzLD)M+-iB~?u)OFB{C+cwh#^j1HUPxca?eC(4j`SDPPu7E3++v>IxOe z<}BUs-Acq|ZE>P^a8XEysb}kN-O%Ek7w1HQAzftF_pZS)ZTq}JPr4yVu@kzMc<|R+4*t@UGV%W_o+PWL%nO~BfFkHBl(R_X%br)m83&W znwRqvDPVbDcaRB8o;-;^2gM5SDdPR9+-H8aLH#3fza3R8J1l&yNLaIHfTwWs%&lj!BOIRsH6~L)kdqgjU5p>2{mnaU|GI47vqystvkjDY1WDbRDIBa zoeX@cF4R;w9|~SjLqki|`|dt;+KP9=AmK|7rW3T$7#GfO9odb?={b5wiyns{=i>eH0a(v z9g??c3Ffko?~vlEI+~vtkKmFU6QOC%(!pDhHsMiC}FAJ))O;D(CiF<})@M{!~^uv+gY*pH9Xt=`$!JSqbY{0(x8;VLw1 z=|#M)#gi+NEMPcGpVLGgFPkduq>DpAIvls#bGD^rmmY1XzltU7dSY8;pCZ;1&s~aj&4c;$@k#Qe^O(nRTr?hbk11NoH58&h4k(9h$Zi1#6Fjgvskt2 zX?09WlxMB>gyA=&MUaJDvU>YW;^^t|D454gN_M0y9?qahdO^J2e%sGz;Z)175aHC4 zBu?a0ne#)3creD^#wE8+Sh;*wXlNd7N73pVLKY3|5lY!+ub)c>=H+q@?(@HSds&4T zv$D^A`id6M46tg5)??T2YBxo+2ThH?1asJzO9}au;8$8#3-YaZj<~4lI1&yq=^I zPWB~lU}3&+oHKDff#qQ<1T+D4|6omJo`&JSrvBg#Kk2Z0hmM2 zIITc5fS55}PoV00EncV>M5At5SVRfm(x+%xUs&3Gv=dmA?reFSf;wz|+xd;#b;4}p z_x!!f@r-XaFv{BR<*tiT&a>5o)=zoZeh{#_}wH|OIE!=Hue$+Gf&%E+s2`X z8o@v%wBPa^rhQ%Mf*|ZKNS(kE`_t{;g*nX8=`5J`M&=wg%7cnKFTvP`WhLHd1U1qN zt|j^8U?Y+$F44s zH5#!oflVleO9cg8ZKdsjoLa+t+N0@Jd*}|F_I-F8(M_pY>pMa*zC^#jqI#(t+gqs9 zAqkQ3iZt|GsMjMWnCOyS(U5_p`e`%s50tIKD$(@E(=8ZLEVe^RtrZNXxGY#hpF1vT zj^=cJJI8ICP(K<~xC+YVL=m*?az%&+Y>WPW0(ub9I1nR))~TEs$CSc4o;(O^i?TZo zt*?lBItjF@AK^9LKFJ;O!Xn&8r4}sa)oPy(>)uitYAaUXQX8H&d+eVumZxjir4QVA z6pK_o@WT{Ykx~S@FS6|qwVl2HIM&i-Am3fM(&SH`^w(H=big=Hg`2C>496^N1d=^Y z0lku`GP4uwWxCDJ&FM}ih9E1x5mDqb_{D{EZrDp0Rm)X$2bbhF1i8dxV&I5zZqp2F z(c_54Kn`n_1!M6!B1U~trblvfs@|w--e9V3r%vslAon;~J#02R;5(3=jos~v4jGXj zaayc(oXa>MZaPqPqn43i3A7w#&|AG{0!IDWq4Czp)R$2u(RgFc9zPOrCStDyY)rj& zWFk!(BDr5j_pc1L+BctjOw#?N%O8BFYPi^%buT;hpI*4 z(mzPz&L+%Xb?XIA<{`jF(E+wx#NHbVk!jeAXk$A+k5hIFq zueA~OX1CFgyMem#Y4CS8ZLopth>ZXS27vgw9Tlp*kczV0_rcny1~+K~VKj|Yl4 z7&)6Vnb;b+xa4TT874oZe0H^Uo8D3e$BTV|g@ux%3Lr7AB%vkU4X5a($`>o=$v`wR zOoU5J3XOZ@1%dNZfO zZteKC^(4IY`LX@6CEV$HG=Kn>Itr8)PJDLe^1i`@G%x4e2Uv^&>AD`V0<0ij}VK9amFB+|Xc-Z*fVp$w_ zL_raQ_^A5MvQ;c8=*peN}*#uP9U6{aECdu*yOcPF)^L0qO~L0#lUd@ zu}MEKdKe0ok_8W);^#U-_KP8vj*xNIhnd5)?AA9S&ie}($lOS`6l z#&jee(e-7FJB0^q@%No|)Cl)WDfs9qF-t{`w!HBN2zIQ~Gvuq4CG>54X~#9pwH8Ly zix}IpixWrCx@cXxU=CiaN7Jy~hTX-@rO?`JQ;Mo7F;I$i7|k%trOIkr1^eys{!xsK zA_-fDN^}Eu_^mx@30P%h*2aW|bY*?4G&?*h;sAFBY8udCd)pYZ*;HMxFDvjO{FSxT zm^faQ@v&q|gG;Jnd;7TTqm(9Pmj-R^^y`=SuCPWrgtM~)ya!~EfLWwa>ZaDNx?_nRJYO&m9mCe=i^fRqyZM{ByZmA;-HlO)JHsSO@o9$yNs%z!=xWJiMf^H z+vnwe@SR$-1bRqjc6p&+GUVZ)q~*Mg-B1r*-VX73vomUS&~~pSI%kVet%XMF5}#g% zuZCJ3C@FF5>INOs1GIgNXHCsBcGnYNFZ2jeC_T$pj079GwVIevPghZqp0tN*X7i(- z9waI)XDl-W;W_K6=W;5o=RP?38a?Z8YNW)xeK3WWftk%Ss&0QL%qRu}FAo6-nVS!0%o9Tr6n7lxHl(W56dDG2$-DC%;OnEb5+FFKY~Pg_}3u z(wxsi!ydDWRdAvbihz+{WrRz-n52FymYfh;H5t>FPOp!XYk)|&8@_IhAomPTpWgPjMrC;%AHB)@ekEo*gmf+?CFVF3y)^<{CU(fTNnUaulHV!=gs6zQ z570py)WqC}`2^00G9}`Bpbch}^k*R0r74xdurGoa=~G=eZJsJAvFhChJqoS}Jpoqv zUbsNv&h6}$F{TiJNKKj;aNQc{2c4&W9UMq~IFu~9YDFttR2g%@@8uMUD$9x_M_OQ- z4ZYswW+N)oR0P230K3GBhCjlh8ueWMD@#?jITvdue@o~nc>qo=2|QqRrq#DNAGnDFI!D1{>M`9-=WO}ENx z1olswsX}PqXF1wBwoh{-`&=t6nLi?lmX;UgIbE%*?!?`nLW~JaSG&>|$;?JrRd~#B4>!Wl%pQiG~*UIa0ivwD_sywQ7vwgNQYFy=_D#xY8ajK<7<>D3q_?RQ+ zxRxY`Ew{t(oI`82RzbW5z7g5+Dfxr*b3iMcPVC+uT$2KuJ^$AED9|;2NVODp9lbZP z-o;4alw5+%zO6mqRs|-{G^R-)!3w>}Fzy0=ktz=}+u*So{&Cfng9?x8kSU63e`e*sUiHmCN7m5GO}Zw*&EQj+I_nCWTA9CxLS{YoRqPwp!3bhE3APsu8` zPT+(#;6KcRGu;H*1H${drgx|C=j!oBB)?Ejxle3BF}p%u~u=a z+3{@UAc}YR43{r$HP3CF4o%uv=D0E1EOFeu#xOQbp0)0D7`u#P#t^jXEVOlLRF$T= zwAsm<>QuXygCi{T-H)@dZf{ZS#9@lLZ6Yxr0_1b(6=$mtQ);`9uW#I zNad+tPcO$N5OJwKhCF>W^0<_dHa8Q*^cV(8!83qfjYkCD?j7dBHr}!qLG)B~&$ck! z7grJQpIjI8(?6Ph_w4m(ux!jC^o>T~zRZ2f5K&#Z0QZfUyc3{UVua5-NLR)a5Z+){ z%XNNHwQs%D8?|(E^KNJ5Trp0iO?EtVP4)`!_&RuWU%7O9@H}669G$;aGW$sNovdkT z-*pV%xJ;+NcoA$z#eMZlrZ))1e;u#M=_Qq#5royarr59(y+-WI!hH>7hcSY(Kq8~p zWD7qx1fpVp^pahXI0uS%e^2i{86t5Gns0zfz|PKP52x)tX$u-b`2s>TwhmS4b?KD9 zX6QQ-7==}z#5o?MbbX~&sJ z=#!cson+d;Que1`^r?B<;g8!$%}EMuIzyJ{u3y(mF$#rCOoS-SFpeTrWs+qZ=kr8y(c z$S63@O)jK%@kd;cD?Y{*RgOsMK+b!SQ7XZO5Pq@vqPzt>YWtIr4H{(ot*JII}mYs z)CP9cVTK7PzCwBI_)@p27OkK`>)wiGM148`iTrIV>!)ChEhLPhNkBkhi_&rGe7X(e z#%Ks2JU8$RqcdvTKd&g{js_v`LLnF!b7N+?RF+Sqw*JPWxuW_a64S8;IH2VXoEjsW zo;%#~=RTAYqfz63elfXh4YIJN1IF(588MV_(JQdLvqYOQrRGG1DPI(h>(_5!SHeC+ zG#BDp_Irj^8}J1m!U)U>JJS^Htzz-BhWcVpNphzUlxF&*XSS!4C8e&sIOffMmU@0W zkPrR@X9iFh+{a3#B_(EUCq|B$Xc{#P*<6K%*0%J;Zcl_jFMy>(c1;8TfL@afM~Yno zNEzbEVb`^yPn1k2z{Cy1Vd@gWfN`p^HBBSE-(DD5^c($}Wl`etm?nwPEeu>~ODfe!Mz>`<*BikA9KdViyV!X$&q?#f8v>|o%m=nvg#kpg3k@@jRQ*5K}M zr92^KrN`Y&A0;u2*lL#Lz^RhK(LVXhOtiJ<97&dj!UG(2)*LnMvPyT@3Y1o>>g8}F zGba2Zd$ed7YLGs&CSZR?Z;GY5aqws3JbupDtYk$jLkI?QX&$2C1<4Y$fNN%v<}^No z8#~IgLcUSp7;{TRD$Q-^zGd-LF08he2^w&Iu+Aebx+_b|OjLRpNWyg=*I7>cEeevC zHn-+h`Mvd{g&0TU5uk&0hC8{q&||@umyb2bbPH}6s*KcN*so6 zF)aY@AcYEca7AMwp?z1>xZB^X0``EEU-9N#zYb}ioVzD66*Rr+^A^8(rKvCrMY@d( z=2~AJr#vin&(0$)N`w?0VY8oU(?@6@obkkBP50BxoP?6~12c(+n!r(VPFb-KndTda zhNB_%wUT3JjMx1>j%jXRg+j8&#GA8C2l?tY8b->Yld?5mfdWQ1S{Dt^6AzQ=5n1j8;*fYE<#7hw&MzJMzIGk(s0qm#@QecT z_NNeZUm!mHfC&+QWS>d9BQc}?s5Rt68h%a_vlytC);!a$)I>g;ZDT8 zG!;L2+*BwwlMGD$5iAx7)v1X4*gQ+NYAZrWW;G2;mMz zGafh+{+d83iL6`7$#(pNFmoQviSeV@f1=;mZdZ59Ane4;YNZX5{ z*OB*OH~3ZC?VUuu6dE^04l72U>K?Lvb3Yx#YlqG+OT0c-GGX^YzCCr_os5g~%({4o z9y+fG)C$!vArQ8he?wS%OH2N(VQT}7v9WApdQW}%cuJM?x}KWijVVjEhLh$06iQ(_ z7aeJW*Gcm^WZ>5@s7m>fx@cnjQJJY~FS~r1h%P6HKBkpx-UZ+BF;-TKkvQcJqbv6i zr(hi$f_L`}Iru^zc|#5QC48rLkG*wmVSDHe43EX`7iM6UYgOzYTWHsL5<$QR3H6~40c00-iGluv~YD27oFw1)B z%&kJF-Pf`hhi8_AZ)FC-s)a(U9& zlJU`rnsRZlGGRWel6?+P2AbV8PZYt{1!`yX3L$Ce15ab$&tJ~E1;$Hl`JJfX*= zLhlgzT{fs!r;_fUBaWXVz0vMi?3TR)2WBW278xDiKy`6Urc<i@!Q3XQ00n`AfTLuVfO(a_g zP6Z1AcFmKoG=}w?-|V>rys@-ViY=iTwDV-$VkWeR5RBksv@<=nS3TQE-GtJ9>%C^t z{(jfa)zCkphq3U{lv7~OE#yrDBFSM@=#+~(G_n!piN6f}uB(_7^w+e(Kl9VD$?^c( ztg@5qyIJBg0TZmU(}G;tTuYrU5j(qE;h1u!A@wk5Wcrgx(6C03P~@C#gqk06e{wiz z5OHVl?C?HG6cJTm9S162hMzCOeO~|ki{XZWRr-#v&W{cTHbnVPjSl{QMK%rAwBI5A zuFDlw(?k9L`Wz`x-Ae;q1LL#nTeDHPzp|5PRbz~pT+>p?Pw@s+IVnUbyt=^vffGwM zQEK!Srnw&m-QPZ~g}>4N4t9}IT%Q+ygMP(*r4;CTLj4ZFNqpPV^LyI#NFxOb|9S8L zqrUm^RWIFKWiEf$4XK~z&1v%NZ1Vo2_G$Y&lKw>PpLSvg;PVaWDlQNBF3JDvImv+o z@!?s*M>|V+S-rMYOW59WrFRMuse@(MRKFjL4v)hA);?fV$1lBe%h;LUpRR^8Mxk*f zZqhVibX|^s$}M)-Yz}r0`SSKMm-y+!lO*4QL6+~PT)AePuP*7vn2ncJXN&?g1SKYs z&u_2ewp_abv?^MQC-k?72xjc4Go=#bqRcOe#C93={BsJ$YOG5VPovKuZ{{p*jDEl^ ze`+gaU>RW#AKcIq%|Fzo`B81fI4}f=RZb!=&O|>RTbc}6p&0N%+ zt)+91!O%OejAu|V+e_=BONm2Jj$};ebmbHr2REex&Oxjvw*+U~FdUr2=gl5+RB{le zHC>1Y#Ev9b1x)drtgJL1h!t^B=g^u|%b;!Z&a-VIKy;90iC5Ng_BTSgOPDY9RpJ%r zxe~Ggyt~Y~PucW2e>;pv_Vi>Hr8_OhjPlPpoA54Cd%Y$9=uJ??sJ~LTRaP%4c;8Mr8U-upA89Xc9LUVcxv_uJ1fY8lD{eX zglZ{_A$ZD@wCcw%>3f+(J!uC98jaFHH&hb{Or1Wt35dxIqX}K_ixLv=nh@sg00{GT zUCPfs*~|A4e9QLfedW2;a*?U3pv&Pq-aAFTLrp|a4uGxdQ!rhBE zglK$wQUYz+<+6U4so5UTk9O)om0BK@NKkIj53p)nY*WyySff9wzfa2rQuZgDzsgJ2 zpTXg*mWy|Ch#=?SX~#1mVG!=I`DY!CNO0GNYD@ExS1kz8m-yhM$mryUab1C^zntC! zkptln#dC$qnk{w8ce&8vpU>uUIEa;k_1gvbPpG9uwm9(Axb>UP*nZIv_H){$P?;4Z z3^rRM*)`n%-p``AE%L+EvvUi&ZV`S(gxj+_)uxqkrK3kd2mcCkusBs1!@1dqCuz>digDim<1W z67`C%Q}Owcmi6Gwemxcp_k$X-V1As*ZLbgcjG{Q-?VW+=)7WJU+tvAQi2MD@;g7TA zPt8k2OqYt8u`c6eA;FJ(>|?l)g0Sz6)Y08V^svnR4UvS0nCID=gVnb)j;_!jK>71n zt~!gK5nZ#pRF5fzUAdI69CgB{HhbS18zO@6opMFEXMbQ!`$by&AA{=_62$GZfN1zB z$0isKB~;99$HHaT-jY*Dn8?@Lr={B~!j`V-zKs0{Q@_@A$J8^6JaQ}(B&RLc##@&r z^Ayt|`T{pi1d%Kq>E{SpLhFU)2du{un9d^4b&%906-%H9srt&?NDhKiCL2xpYuZe1 z4(pUdFQp1ZM#~>8#6Ddo2vBPdoS};9^dmLu|)x=ETE4 zY^-128{g5mZ7u$mk=ll_CKi$@PE{X4Rsub|HWTmaPj;Djfz}O zNPj^k;C}=}Nt0YGB!92`n*_lC`*(AIPK3r{P?80QzySLnX(QmpQy3`_91Ls(0t^iI z-`l}Pz9t!PQ~wh#f*T(q0WAr{P4-WWe}g#6f7rlcB^`4U690V=eoX~w$iJLMK!Sn& z1^EAJ{z()(WdHb;=D`OaNHXIg(f!-v-;eO0Zikt{z+9{>nB~n}%^d!Vt@*$AaGD+A Z;Qi|!6@T^rG~Q0y+qP{dGx1D3+4tUV?Y`f3RoAKRI_UnR zzdEPSx8WS=jI1IL355j)2L}f>&MugUECBhp_}clmNQMQc0NDbzq_KqW zK4Hh4`O)EVbDh`Y^Hlxk9aKtfMpfOAePSN}u5ueo8eagDAR!W9jkT_edsmY$AO#a!FkC-y8)BS% zAc)=>Q3laXyj8CV{-woq#bm;}sjb7F%U1#z<1qToSW67x&b=MR?4L=hwE)S+Y*5xtD*-onaw4?bn5X&hrF0Pv zp=9I~07&=-VL=)E#dI&ud`sGPtJ3xGqM2i#v>=zUi@(TCp-Zg-72qi2DK2K~zJ={F zbGQ(Y{Db&3xgmfWpZB&QCL1ZAjKV~I^vRRv5Eg&#PJC3RoyF+V*Lk8=qb>`$xpR=c z=giQ~02&g@ED)dA%Mx{j&=?cdE1?icb|UmJ%kZQxq%qB|p*Dr>qPXPvJ)f{3DL)!d zcE8ZHlDaV9hR-9Beti*JR zuu{+VxjS+zGl3Wm^D<&YHo28dfyM}#vuc@!0p=aum-p?<{Tm+0 zuQ7Sb+XZ6J{i3Ru0+E7kuw6NZSYejff7D@3u_fHSc-5kN3e8-K6qoz+V6?s^= zn(`>}8b~lOY8bG;*8h6p$$1zAAPGA+pd*W^ow18ci58+K-~``a*`8Jr6-Wm~2c#!6 zk`08QUEV`w#+7PBh3VIZ? z+NK_fMV@bGF}e}k(u_oR^@BD%<56!$-h4epMN|e?P`^Hq7x-ywixeL6kambLq{PF2 zj+sBgC;pa8^znht<qjX>1#QX+zQMkM!|-h9FUAKOgdv z^SvlzOF3CxJQ5?9RTvcyw>y_i-H?RmXCk@Kw_l3TJzA^;>BCo6-gG9dmMdq?Jk?!x1XD|60+f8$iQK0 zt}ZE|Cdva*V{_9|G}m-<6Y%nszIDYOpLl!3q`(uG?l$!(lGdNOAetX%=VSBn3!^P4 z4i)moYb!?wKh&v%?yxt@WGGfCQegyTCK6^!!Qj@v~lVPoo=S54@PVXb6UBXB13eEhNfj zNsk7r`}hJ(%7Wwu9MPRP$JFLn;?V(YUD|Lp%MNi_e(sK-$sp*4hpb2xPW;#>wd)94 zcKgaX6{%dw;*oQuCksh=JG_|rObXreWGkH)f=rnXn~Q?J#vYo|Cl8rN{t=>lm%O0K z1%p_3Hs7=!`I4N$A`d<8S(H-XY*JG-s|C0_)#3z+slGajnAdEk)L~Va`+Sicf8QEa z@~gd*fdnQfi@Ui{aY(wE-qAITTQ5kS+ZWr=l-^=y`IfG?R*cXOjmvI86Zxv%U~{!klwSnLk4NZz^&L78{D}jV zKbM7p4$P51M<>vKZrqcFVI29pW+lQ)N_JUIk1LS+;v*Zzw;qIpfDd21}xLW?TYA&*z(SDXX(r04`3!UpM55uG`~a=hk~uXW2<9y z=m-DYpwrTMY7(4T11~9f4WT&{bs5Z9qZyG~Yn|?x7_3Y!Zk^qh8TD?5H85JyYOer< zSuHFC8Me#XK$u&Pq%quRdrQwUGJ_j@NDpN%_uaaf&P(%;UqftLyWDnNACt9Yp>Q`U zfi%j1HZ+&1E|*2r6)yA`uCoOtc8+ebLKK#gwva0R_dLnZ02bwJYp-5jU9&DdVR}Rz zY$kXdOZ>U-mF)7)q>B-fNhJsDm_gVe1Pd%gzqF=-#^o$JZ6c!hrg3x(!=A;In1Ga) z&C+bYYM9=B?FA+*{(BNXqyC7cl~5@LTRY)RuvL|QQH&F(=c-_4O9M^p{L&PL6M`hN zm>sh3*$Jwm&nVfsTR5>dvUa?ex;26cW8d~l<D;0_@Ya)k#KZ3D>DjkLF zsj^MI8K@nq$7BfYr>68^2_HSFEQ(Lfcz9xB$1-^gdVTtz_i#8F#`Xk3KWv&vqTSFu z@Y@kYTnv*%nL6%X*rM}cZJ)6V?;zq4U8WAT&6IzjwhLz(aSVN)U&vb!_9_LU+Te zV0)wO2F!gVI8-ey^sby(-K<{$P;&jr)wOt$aDETnA{Q+O%6vyQ7N_HjXq@L-Bb$_1 z5(>TzhoDY*3pnYgX=PLyb;rcHRlaCfd_m&W zPG~vbpS5<(85Q!>;HoV55Xg-x1f!iugkL;y&15BLJ-p9#-I(yVmEGn`yqmdS>sY-1 zF$}Jd-pereB@{(OxzQG{dS6pu@^Lo|3^p0d`_dMXnJ;J}T&XX`#SZ2Hy0gF-KUOOq@+41x11*)88t(DaZcjZxN-VhH7)#Ou(K7KmLPXZA6#n& zeEJ)jBeVVijt|4m5FB4UzxqY#pB|RY7rogKddDdX=_V4+hKxyE6Y#Wem9+hLm6D2p zlyvJ861~)w&Y9J3>18bphF4fNEss5T1cS@sxl`p2zL$E^xw!KiAjGlD>Vj4!J>Zou z7WHjoA2s0#cHY-`;uy`-eT(GO_du zTIH3j2dPwS{Y{-Z>2ORyRb5r5{LiFZL1r~z{|;`&#r<1X7~8}Ag)Smzd(c@OcvXFp zB@kO#mC}CDX4EzobfSizQ>HSx+!J&xcMUkMNxze;D3PH!z@MttfxR=^ahl$}%!ycf z-}8k!o0mLuR_-^|+BLqi^GXxI<+mUEY2vHXFA@Fp>qp%+!QCp5vjfMxgVOKK`)SLV zPS4rx7qYQZAd{9>Y}M6gV%yr#v|$qBiXEfZjDiUwq93z7$d@<`Gs>QvO?cvE35o(f zo#voY!(iYbxf)Yyci0`=)saPt*MUmAW%@u*FxK`xFJt&Qs+hqT^uA8+kxE`*3c!okbE;G#D z8D<|fJd36V;Y2=88oFtW!>!~;yTj=qG zL^Eibjh=AWkH>s)7);!uX<|#$Pgb^*Z2c@JrP8Qu2JADE8rd|0EzyBtR#w)+tGtXz zF0D;>3!r*)uA?7OuP8r9V|ro=K|rogi|LI_$&0h=%!@+4o#kNYr3B`#XYA3&GYN_{ z{S3MTEgXD{^f~Sw3?dUXwBY%~$nH~c=J`M=ua$7*znS{Rt0rj@N{9k%8T`qMrNJv9 z8Kc@3`aV&3X){-DKSk%J;5qq?2fO2s-zsjaVP?SBZF1P)P+wXvlzl+^6oDT>zOk33 z6{?waxYHa6{O@d->c@HJGy)iyCC)$DFv9;8yiF@;qu_tnx=nc)u8{u}z1TS9pl|R- z>L)ECmaW+e_Bi4gcw_-+Y?<&-;6)g*R3X$!0W{wwEBP|YG}4B|);9g5MxM zi}i=QbNs=wdUPQ8ph=!BiqCnxd2C3II&V{YCH~lD|6EiGJt`J|rHWSiE(-U|741Gx z3hjFeRq}~;Tc+^+U8mm=>b=bILu=zXTj7(XXfF2=+K;{n1ef}Wak~fc2PD%kdJ

z_UI;JPc&{~;@%iq!_jDMH%21JwJH|K88DOiBDP@8uUpFB9_eD9LQ7W!bv)(TJPN%U z4GROqK|dOrsXiY1a0caxECX+@J?t;cjsJ9$b~z>8mbWO_d_ z3Lt(^gr3Bv&J>C*6RgOO2Vtu)*qW=*cX4hEohVfv;Sz2=RNX-&Rw(t0gGWO#;nYit z^#m+&8B{t!0xWFl4s{LBVtq3230A#$y%{?X2UMga*l_9w-CgRLK|f+Wq#zXlVZi)t zG{jbo<;fT5g4(#*N*khj2ZYz7pY=+@$wk6wcDC`H)wuVdi z8(0x0n+H4HGz2lwtHS~xr>-@;SRAEAzKL^hpk2o9sDbQbjBs~KyT zqfAZ>rl!@LXkeK{AP1rAkucUp?6@jjzrp(;mHD>bUDiU>WatpT#)>pe<23Pp1Eq(k ztWxY>Q#eOmCdQoWdbyhpaXv@jWZ2C#6D!c-fu3S1Fw4u%v3m~H{7NWc!FM*L+l$`6 z%1}U>YpJ;tX1Zv15-%Od1CB;IS~9j|or7BhgHha@*rV~8|wxZ!gr zQGhU0WM?@~(2*+diSKHm(R#j_!(@culr+rngiN3Fb7VnRyA${}ep3SeAz zODs{o+ZZ&?rT`hH5K1|_!e}@FyhegPsxTj}6TRF~C%lt(svI}l>7qAi;Jf^3hx%$V z`8-8^Nul2mfB*}h9vQ3xNeFr1DOL1?HKpKiqF+=PL=Z6oC912Ky?gNjR}w7OzBJmkQ>uT(wL)nPu3fX=9XuVbU7=sIQ?HB>$_~@9B!F~L zL%=VeMckcmlD?a+wRLcn93 zi>V0Co9?xkGzRAqo3DPQ;}zv%}hpz%Gi(8e$14xkOopHX3{=M6V|s z#_9`9uj&sEel`b;Y0|5A%#H_(g=dn5llTkT^=>I1hm{weUi~9M*WTot#TWbCf(PMl zz*+u1OYY6d4uOP==+TbA-q=%iYe+8y2tAi{AC}u+_AFd#CjM4{>d0)JH;@<(4I#pq zbmfKpdI2wObErqbR1Jb>tZ2Yd7pTQ{oZk7(>NH_updPBO;qZer+i1I&LE~;- z^f2jdwZU}o3n{HviRs;UaO*9#2KxE+Yx~`Bn)TVDbP`=Qv)TRp; z2SP9pgWFfHW0@fzDy@!Un5$`^LGbSbTn$}Pzsy2KJZ;%vEJL^4-9ie&c<8^!^@p)I zzy%`}4FO`cqL7?f1-KYr1yxn__3=CTbeTN;#q?2X%%wG8gWe~P37Fg%1X7ILNiP-D z)hnVPP+Fl6BYUa)xMER=$1%WJnYjJOYa19?Vw6*p4G;6>B|bUUS%}l}K)|~IyqZZp zTvkGzYS=^rL}<7n?DE7v-{;QZ#)uAV*xGsU)ch{wN@QrA&3=<_M=%4N63ew|N!W=T zOazFj*hlDnM?9i~v6tDKJSLewj0X=1|;1aru4HJwC$?|=G0hHjl zVM)Jl*BtvCr_B70lH7VGAQ2pdeW{s5I&Z9@^tAA7itJ+B8s#HZ%ESU(S;Ib0osXzc zHwgo*NZ3GO8py;`jT1Q;YyDn%6+JcijC#I}bCK>7l{x;>6)4jzzQoUmupJ)^lRos{kD4dlS6JdMQ+OjeOgo&_Hc^L2wXhv zX_7{;9%jR4xR^0YX?UUo*HLG2Q}|-`5=vDhdOaDtjzoW>3XRb+Xamix1fd~Z__3by zmQv0f;o?VbhsY5~&^XJgEUpz60WK^hn+HQyp27Tuj<-@-*#&+# zCcpz`h>-FM5*xYlNd|DDf0a5-*OzuKJHz#d`kYsi;;L(2;p*3cBUvZe@yHUqg^ypo zD~)hbE_a?^1ICfjiYztJ#eNiXZs6x$snf~ATw3h5{yuVO)&fx7`kj%B=abP(B|I)p zW^5kXl^i`5G>W=QJ?zRZjq?glmdA1VWS5?4C}g$#gz(Tc^KM}6f7he2PmGdtY3oAViAud+vYLDS!`=vDPHGxXeHKJJS&+O`M`Xfr+WYD{|n?U>t@zYhFK z9ql8kqx(9sD*tq+OB#gkgzR_c~~ky^?<=@3xC1B|6mHNe~q@+Olj7QsqDk%Bih0k-OdE7@XR zuis1k%Y!w}ZF~_-mZBn8xTf)$o_zCN z-Ic=B&JWqey!3-fw(=!h4vq=SPP^J^5rN-4An(0YYog`@GGaX2bgv0!kNK}iz)0qK zmsW>|ik@NcD}^nu)7Ke~g{yGS9-@BrLjd6@H{MMtuEz3zh8o*6XN62=A4`2)b3y#Pu`lt@bXZ@?@cfIAc1g@{MjAt@yT3y>gN{`#N@rh;+8ZDo2C?% zE_0ZgqOOxY0Noj3CBI}Q!B0NPB`${dG=ys3h&WY5E#m_+Xw;+=vJFdrMWvWh>0b-e_UHy7B#IHcjbU5p{*MaKUjPQ69ZHz+#L^PKn{Ch zoGW=E0`{acVLZahWbam_GcEH50{)~L-}W16r(N2GS;D7OxFCR}xpY^wzm~ddc& zxl0ZsqjJ&2dxL2JcwghhW^$YHAEN1Mhi56Tj9;VpDQ(f$+)@I_Db>$7 zK9g_dlSasEyV4kg?(yh-6^IW7An?LivPO7(OHRe_4=dD~hwx$>iaRtrklINg^UnDQ zW!X2VTp_hpnE1}w)@V)d>bG+&9VWX+Bsm;)b~>GuF1vlzz=PL|qRZ<*Ud2{RWMdx$ zb2wJn$UPZ>Zn#=Uc4irf8?nHP5D^wJV{~=|Ni7Y6Trk4`08w!V>_IOM=%pl$99O+O zdbVR?dN6kN(q#R4IhSh}ur2eDI6JAqP<2tZS)-Y8g=thiZEnOQ8?0(Sx{UjRSf$wc zfHry(hIbPSEM|anq{HV zEJL{(`5Gvjf}y^2P?ntspjROs$Ht~Jc-C!WU;U}j$Ou2LC3_Uu@(^Pdf`kA2iUw4$ z&Yl#dtX^w1uRBxR{gi0TL>Bu6CvS!_aaacod$;3gWup#wG8Bubd9xcsNHV zP>vroC6PE<3Z8!8V=fVH4)VSbx`ebB?KWfG?D4w|{owlrqH@n0o#cFeW5W1wc?2hc zCN+J;?@<7iYMmoKFNt1&SqE`QrXM66Ol(lQ#Azg?@pQTn_&l$J9uaG#+rH zbtsFvYxt3iR9(|DcH5Jrsh;FAtGLoG;aE=iu}mn4|| z=5xP!_cKmtNp1<=4e|8&j{P3PBk^m#0v?u?rXo2$fgC1%infaNf{^ zZovvPUXht8JM8l>pjq6AxiTl$P<$hsWH)g!W6Q*+3eVQ|k!rqH;XS{v(1%u-RARa3 zgJKjyH=dIFM$Bb^>I_f7bf?J1D2J|d1FmJ3=(5Vr4P|iEdnhhsTZfVf;pNu+O;x0z zm#bH+o~d1#c~u$G(5?#ic?(G(jYDRAO-;PO18+vvso#jrijc^Bj#{&Bp6|GWd-Gw3 zP?SZ1$*UJvXh%Tpv3O_J*!?~vKVLM{A z96FU(IPeV<${8#0>;gJjtYt$x-XlF5>OQe5Jt(`RD^Bd{HxzSv;V+ZI3(3hQ5PgUq zULDohDdnBB@u4rztnM+c?&*sZA8WS)HcH$hi<~lN(swVU*LKnX3E=$>#Mo;I>@2OIkZZz~rUd1+Ljwf)4<;>%3@Qj~F8k%{9|ROhpX zzpk6yw8OpNJ5G$BO3(I>2p`5njz7A?Jp>Jys@5^1RBJR;GJx~jzJL1a-7C9}*O*{n z(zO4tuig|({{`aj|HGmMMyP-O5tmuXK^j+@m|9qWXpRN&2S?~U)4y)X4y)U)-~boQ z;0Ctg61hyGF`d5`CFAEP^lwK0_V)_^V?+8qv?Zw}t9EnGFHl6naB#&>iNXp&V*TvL zRNGu{Zf0Np#~<2&=x6o-GJB^+ItgjHQJwA^iH#%TugIUSk9$t|B-^L2)TGzXx1hkM zi#pLyN<-bx5kcZG&+et*of*Si?Cqs+5vD1=@!XwMc8J*IsF)+|gW^f}2jkQ_+Z^BH z@YyvV4r2HGE;hajClhBAr^Zy zf9ZMq3^@T7pw1P>D}^Nvb^B5A(P-yHW9+xk4XGNFgkc{IUbi!Sc*?{c3Y_(<(rgSA zsWbs&0)h)%qU`Aqg9@EkfoQ_lNk7e0$HF7JQlJ2P>wp4n+JSefgJJ#LR!o-o?~fp6 zwqWa^n{tgMV;;+3;@<_=j-XkP+sHW#6RS3|Pw33K5HkM|kwxwiEF;&j1AWGz1~lqj zLy(S&GK>%7^ht3yj5GGSwX6qgw^Ou?{ucwz%r65!=*H$;e$gU`gjViz`qu8V=g~bw z7^;bW8p=T%9@s+f?dwjec=DBG*)Ahrp9(6eAuNv5jXNhDQO!*V(Sp()bq28YejoTi zi;~su!yL{fV|NisjF zJZ?|W$zj-O*y1T|*MlyZ+Gg!$7MK&u>JuhRRO_xx_IDDu^xWARpV*%IT(i$p6j%xj z`tf=+W`htU9dd>u4v;tV%NQ>Pp%3?bBT;X`i~R!H6sxs5ueLm8s=2aFN)C#CvF%d6 zojqG80bD{w0-)3vr_nsX?e8$~c7v#Fw-Q?S3xSw^eTnMgNgyk@M~ET1_hT1087pPe zl@U>D_@{dQg`h5EWqu?F#6LhNA<*-rUxD}rF@xD=!j!}!*9VNu#hfS}f&_fWSpS7fXR%Dk;?=L0zFjkEAySxoEHQ1;Wg!DSKM#>#~$>d+gE4 z0f0HCWD72hK1J(m&q+o>8nsivSMoc=)n9B%p4S7)=6^-?#-&E|A`mgo-a%#Gjn1Hz z45aG#K&$&rfdj8fA?GhTY}*q-Ext`Y@$Mh7=7a754=7j=!*YkYXiR{Fh2WAb07{;J zPUFzDqVGVXM(bSA5>VWNVZAzb)sxXQN4N|M`*8{wKK(a=NGt%oz7`4$ObG7(1KkfU zw|_b&$!0u!{{US+j}!7=zz6tW&QUTkFB{q4JOA#xV1fO69781oc`5!;dhrxR4gv=Q z8;1Y`!~eGq*ga};9WU)aF*bM!A-d3$fB%oozhM~lKWsR#lll0FN&k*6sI4Ri`Ipnk zzj#o8LH56fezGec#Xo*C`3S)al3V!5^!~Q^_oe^SZ80ktn2WU~tD?E9xx;@mr&Q#@ kA+W&ympTb>S{Ucz|LY!Af6f0ij!$Oir+|Ux`TGR_1zl9~6#xJL diff --git a/src/sig/Block.java b/src/sig/Block.java index 8e5ea08..bad29b3 100644 --- a/src/sig/Block.java +++ b/src/sig/Block.java @@ -6,6 +6,7 @@ import java.awt.Color; public class Block{ BlockState state; int x,y; //Relative to its block clump + int draw_x,draw_y; final static BlockState[] STARTINGSTATES = {BlockState.BLUE, BlockState.GREEN, BlockState.ORANGE, @@ -22,12 +23,23 @@ public class Block{ public String toString() { return "Block [state=" + state + ", x=" + x + ", y=" + y + "]"; } - public void draw(Graphics g, double x, double y, int block_width, int block_height,int launched) { + public void draw(Graphics g, double x, double y, int block_width, int block_height, int launched, boolean selected) { if (Meteo.DEBUG_DRAWING==DebugMode.MODE0&&launched<=-1) { g.setColor(Color.BLACK); } else { g.setColor(state.getCol()); } - g.fill3DRect((int)x+this.x*block_width,(int)y-this.y*block_height, block_width, block_height, true); + + draw_x=(int)x+this.x*block_width; + draw_y=(int)y-this.y*block_height; + + g.fill3DRect(draw_x, draw_y, block_width, block_height, true); + + if (selected) { + g.setColor(Color.RED); + for (int i=0;i<2;i++) { + g.drawRect(draw_x+i-1,draw_y+i-1,block_width-1,block_height-1); + } + } } } \ No newline at end of file diff --git a/src/sig/BlockClump.java b/src/sig/BlockClump.java index 6a4b780..a140a88 100644 --- a/src/sig/BlockClump.java +++ b/src/sig/BlockClump.java @@ -54,9 +54,9 @@ public class BlockClump { } updateBlockCollision(); } - public void drawBlocks(Graphics g, int originX, int originY, int block_width, int block_height) { + public void drawBlocks(Graphics g, int originX, int originY, int block_width, int block_height, Block selectedBlock) { for (Block b : blocks) { - b.draw(g,originX+x,originY-y,block_width,block_height,launched); + b.draw(g,originX+x,originY-y,block_width,block_height,launched,selectedBlock!=null&&selectedBlock.equals(b)); if (Meteo.DEBUG_DRAWING==DebugMode.MODE2) { g.setColor(Color.BLACK); g.drawString(Integer.toString(maxBlockHeight),(int)x+b.x*block_width+originX+4,(int)-y-b.y*block_height+originY+16); diff --git a/src/sig/Board.java b/src/sig/Board.java index eff3cae..e291dbd 100644 --- a/src/sig/Board.java +++ b/src/sig/Board.java @@ -24,7 +24,7 @@ public class Board { int attack_counter=0; BlockClump clumpClickId; - Block clickBlockX; + Block clickBlock; final static BlockState[] STARTINGSTATES = {BlockState.BLUE, BlockState.GREEN, @@ -252,7 +252,7 @@ public class Board { final int DRAW_ENDX = (int)(x + block_width*((double)width/2)); for (BlockClump bc : blockData) { - bc.drawBlocks(g,DRAW_STARTX,DRAW_STARTY,block_width,block_height); + bc.drawBlocks(g,DRAW_STARTX,DRAW_STARTY,block_width,block_height,clickBlock); } g.setColor(Color.BLACK); g.fillRoundRect(DRAW_STARTX, DRAW_STARTY+block_height, DRAW_ENDX-DRAW_STARTX, 3, 3, 1); @@ -268,15 +268,16 @@ public class Board { public void mousePressed(MouseEvent e) { //System.out.println("Pressed: "+e.getPoint()); //Adjust Y coordinate based on where the board is positioned. - int MOUSEX = e.getX(); - int MOUSEY = y-e.getY(); + clickBlock=null; + clumpClickId=null; + outer: for (BlockClump bc : blockData) { - Rectangle bounds = new Rectangle((int)(bc.x+x),(int)(bc.y+y),width*block_width,bc.maxBlockHeight*block_height); - if (bounds.contains(MOUSEX,MOUSEY)) { - System.out.println("Clicked inside clump "+bc); - break; - } else { - System.out.println("Off by "+(bc.x+x-MOUSEX)+","+(bc.y+y-MOUSEY)); + for (Block b : bc.getBlocks()) { + if (new Rectangle(b.draw_x,b.draw_y,block_width,block_height).contains(e.getPoint())) { + clickBlock=b; + clumpClickId=bc; + break outer; + } } } } diff --git a/src/sig/Meteo.java b/src/sig/Meteo.java index 2087f5f..c734d1a 100644 --- a/src/sig/Meteo.java +++ b/src/sig/Meteo.java @@ -59,7 +59,7 @@ public class Meteo implements MouseListener{ } }.start(); - f.addMouseListener(this); + f.getContentPane().addMouseListener(this); f.add(p); f.setSize(SCREEN_WIDTH,SCREEN_HEIGHT); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);