From 63bf02aa4c17ad4551d43b719bd5c562994c4331 Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Thu, 23 Sep 2021 05:55:47 +0000 Subject: [PATCH] Merge ground clumps back together for matching. --- Meteo_Engine.jar | Bin 13094 -> 14001 bytes src/sig/BlockClump.java | 2 +- src/sig/Board.java | 60 ++++++++++++++++++++++++++++++++++++++-- 3 files changed, 59 insertions(+), 3 deletions(-) diff --git a/Meteo_Engine.jar b/Meteo_Engine.jar index 1e43711c50a7af1ce9e6447242fea8b6925f9713..3acaf05307d72e16e6e7f86fca8b0e91e1c1b63d 100644 GIT binary patch delta 7117 zcmZu$Wl$WE-KYE1{OU7PYFF!mrKyUHLWqEdhK8`hnS>>V^v5f={qZR^ti*Mch@HrP z&sumCDR(HiKoeb}r;X8U|CAx8e0elOFE9kFP2eQS-;IaZIzQ^zHuziA z!o6}($I0sJUJ9FLty@>t0itHZC?SlI;KGg}T&Z=F2xNdN-g;~kktOl^8C1+Yjt2E& zoc63!HOde3RHEn74Ey{l<@mSEeFzMwsYinkZi*eoO`o}0iSt0k0n2u;eHT4}GF`A3 zt`%?10QXS50!3DvR}v?-y~xk5tjV+`SGlh6$Ry8uk$G`{aqsqO(SU{)YNB?m4kEB{ z9RW(AO>B85>tH?2`SzJbmsuQxT7ZieyUQF4vt!&1J(kmJTUNAvmj$6RYl#MIT9c-z z_F=Opp$lL>l8!k~$)tSs83Nd0L|YhINNm27KtuPbTu^vq>D?|$XX zSv#_|Hlz69gTUZUQ0zN4`6bNq+d^^z$~C^Hr9Nn&X{ zPy$rXo6g0e(j_(_a)K&JwxVk4_wi--y0rJ#3KU!I6~6T=)=-k9Ox z4kUC|mGe};g88!%zK>TBAh+11{66v}gtnNWDo;AhA-m~>@fgn>wp(4@FP(`00f&%u5QjkH(|}r0Qtu2r2}HBwk)|b>9dE_UP!L?SLq--H%j6@@2GQRk zr;_TOSehkI7Jo-fuwiA?G4!Ez78qxqx}~K)0p9Yb>gucJe>8$(!qv!vRWHwnrBl10 zG~SPRz-gF06|mdf=Mfu7Q=7*@{{1=p`FR$`Ma8wffl<1b?$ImFPA#AlAIM2nC(0|~ z*8tK1C`ZjW+s4_QHlRP(EBPgrrS@J-+yvP=F}@9?pgh@#qM zxz#n$=1QT3#%AV>o}--`_`!XeGz>{Y)oCUmPgz6us&znZX@uL@o-k8Ib7l@^BO+#_;0W28+C=`^`Yr3U0?Y%Cly-J>#v6Q1)+dCN2yX;F;Z?Czc@5Y?A= zN^al%jIki;b3agtfoxfkv`lMG*LT_IGNvX4-v<_oXPS;K;fh7#h(O))!;_V)qN7+v zmgyw9d{D&oa`RW;Ft-R1ky-;QKhJc-6=!pR`1}BlY}gM4-PQDm=~OFPCv`?Y?CUGN zSbBWBN*>penahFz=lUH`=O~AJMN-Vb*mZln#Tp!tqvpN>>JeG!aJ-U{CNdflTa+(8UA@KXQdZu$L3{r!h)$A zotQrwn0JB{S@X@010}s^9>ceMp=oT*M2MW@Ix({w_-5XOIym|MZ%~~XuU_;_^5CW% zS`v*j6}&JAjcmrST)FowFRR!htkfu0>Ln^eyJqyy7dgAtPEWtu&PtPKT4>gNW(GUl>DFSc;y3P#!~SpBKqjVYjL zAH}YrjcEt#*-bol$$P3}ngS-O>)u!8b?$kGzu?lWmcxY(IJ^iw3)ju1`yhdn(h8&> zp*oeA^qNGMeM(zi5{nS=Z=D@4SiXP$xpHnh&ovV12+C~_VDu1(bHyGx#eeC<;c9mb z2;0!O5La&YM%Qn+#0TYA?M!(i;)cz^hUvq)raNsal7gA(%N<|3aLNoE3&ALdw3I zn0#Oj7j~`F&;OD8&LYa!E$x2m#@r%WYi@E)?<4GFzvG z=ku?n_RoTwvQCHvG{g*gzXyH>UbSWpjfo+Xp=tQjr%0nXu%h=xL`d_as{qj6TPC;A z%QEs=+V%7rIdQ1iav15$SHvmJU2o}qp+~H!YO87k|N7ZBU$x@9cGuXpat2ArxCWl( zzDrhyHMMP}Uv-R&Z20G&N2$_rbz)h79q%k~spnxasDk3alL6P9SFrLBC`t|?Odc^2 z6HbR%h9drEvp$6BMGhW}0a3#r#-Hagm-gdvYVtgk#C*KZF-X2w-?X8lVLudA9-alc z9na5ZD~n7hK%Ll5G;Q#^$x)!4E*w#WGhcQZ3^GaJbaAND;&YKZA>f%k$0u8P|kxnS$7+}pHwf{k~omf7)T%f&EA(EzA# zw?R;~;kSbdFN~t`*G!D&gISYp;K2wG&jVmOk6??ggMl@;)7CW~qLkkZej++NG9;zv z*zK|q=2x{`@+5O}=lY2JG!_1Ep@H;dc>C0!U<`z*3I#_3Z#Fkz=j6d0_FYpj8uBNd z?lo$VueT5iK4RqR{>M<{(AZ8nW|Jw(Sf)z^Mu6}n$>GoCH42Fjea$E6l*?3@ z{lJ8^i**an7NJ)-#v|>Z4;q29J!@;!3D^BZ&TWJ8RNGu4c3BuF>ShpQNNt=c>UKxe zTfxXv79NWDnj~&HL{FNHD$JMPBo?wX=~K(K23Z_aw*M7xen*mXx_PG;i-Flz_2@sF*N`d7$D?=9W(H?5Jn$j47)=(S%lafGqnm2|D@P zD?LYRF1&dWDpLhTKWqMZd?okc-(kt#4{2v5tqFxn+>u_o%B>?=Dl>lkk4-(x-hJrf z#T%uXYLfd6H{Qq%RV(ar8fqI<{#jy4!IQtp^1Zzs zv*}W*sXor$ELhb+R5H9xF8*^BFG@35Q9l!|3GEOrWiz!AiJdrPRkb~a^PkP?f`;dG z^M)66L)kHH_jUOUnCIn-KLNt@+<5R!r!2&wU+ng`WpU(N+7<3++11A8b%C{6#T6~B zS!Mgjj-f_MNlehpsw(X`?*;>osX1-k9+Y)~Zi!Y_-C$F&mY{A`+98}B^ue*Eij{DU zcgBVYM^2P&8NXJu#LLv2nKCswc?v(qhoYO+tX1Y4p?gA=UPYoqrM5ne{=$)?KuZN{ zKgE1Z=zQ!e0h4W9cbbM~PN4o=EU{0kQQ48eTmj^!QcIs=Rv{OB8eqCskmWO1WF*j_ ztS>YSNHM7uIb>b#k2$JTb0NFRC2DBd;dOJ|u=lQ6-%T_wVX^E(`t-rM$llNpAFHjM zrCZWYHHC}~36jq?z#n&;ArQ$hJ%q&QV2z9NZCABxHU7DXMIhp497sE=7U#Tvh|%|r zx24%;f&a18_jA0aN(C7M!2~pw0W?n((?lMPU%E*+gvUb?X$>c+-aNFd;{%8lZMid3 z$0{5Z$3G3)(JHIepD#0XKo>Vi(7ZA&eJC7|d>e^tRb;~rpm?}zb{RtWYgBvzMX2<@ ziGm2QW!5dtMvUKC14YDo6kaphp}kbIA({DsHo05J#A1J{V&YkTTmH?FBD-;U+=(D6 z!|jRwx`R;bth|}W4n>yg8gOF}q+ttHy^HEWN57t9pc&g8rq$YHQB*c9=DF~qb-edK z^A7mJ-S1B|FSB)&oY<2ypUydQhM%i8L)$Ed4GGgJeN1-P2CAycjV-=s&J?6ATe8-i z{K%;9fJVRulKUvw+h^kPu9FsnMb?-{6o>fj&kghj3Nb0#UbK45EpL8{ogV{&F zXT)!fUD_==+l7kVJM&}H(F%~Be$3r5&FZ9MjYHO-BID zJbc_u%tuC2D3&~qTw6k{-IYN96UidQ=k|1_fC;#YP9W*!*whCn0ejiSkU~2^c*OrcpB%y{XU3=X5#opUc{2n%jN` zOMd-MlMwylaeJkAqMh>T(sEFv3uoLJ4gZqEAsES*QL&SG%){LCL>;uXJGk&gL?H#< zG2{XCjAwuX@THP`%{NMX7!Oe0Kf_)LIhzC`0vkr9Q1-geRzPnSQ8!8RMSs_!ZeEh$ zN?%QoNk?rQlZLFE`{4Z8xods-`H*Y+Wx+$-D)QhZi7n3S74uYq5XvqtdxVyqoXh08 zN|Qj_JfVqW@o@0%aFE-R|1L>U!2_I(@WGR-r!74CUN*x6k=c}(PvC1m%Pzuv zGj}o z@RS|eNDyc>2{H995$h(=?lP_txci&dUNDlb(m{B}6-DHrHVA=15(-LHMy;vOCp+|l zErK~NK_~X#_1zDf5rWfld)R9$8_X>IL3Lo~z=O?qvRl8%G5Z~g;(=v75?EdZQBz)2 zvK@Ih)uCW#2|7rU`Bw^eBnl5|H8@TcRKp|uvcT|uswizs;Rb!R#1(4iBeXnwP%EGN zL)`~I;fUW=>vywmM_)}a#p#hL>5;^VZkKe~FQV32RJ0|^pN)I8&e?I)E86o)%F()m zPY6C(9@u^+1L9GS(Lm;UzI~Dm3TQJ={A5i;o7esM=9cr2%u#ps2R2-Hbl)otaFa1& zlggHS>1)n{X$20+V8n%GQa4EU$h!yOyqBbvGHL|$sSAf+UW z_#iq(IG?_D{H3^ozmsmLK;3jIW0P?cOzrfM<@k|x9C zW#+nF@&-@5ZtrI)cyLtY@bq!Ia>rR+H3z3y^znE>=~uw3hHp={$!@ac5Gy%`T*(9W zc~dzFCnwpbUvK$i7b#xWdc0CobY{=4{`@KP3vtTvkR0I2JX1V-x(?qkBEM)fUxD)@ zPj)g_>B)kJo5UHgbo|bO4Ren=2()%-M!B`lvuc0z=V8HiahAOGnm1J>`PlxGHNluJ zu7DrGxv{;6ETm(aXP!UDnjqcKCw5{JZ@J5m^56){31a4AvB3YM6TQtv z>GH4cQ|FeK03i=c5!4}3T$7%-J<(D&v*HnZ08(8*L<<1P7{=VF^NqW6P&gn*_nGkY z5yb_NB^Z?aoYyn+cxT&~f1o54QoTvrIm~$d)nSX*fwzCqA|(l@Xv@_$Dyu%DeZ&CL zon7~V)DT!7q<-1rfeTEWHq?Vr6|2(2jfO{I`5AO<1D<_sg*xMv%yW=A_ITvx+EqtM zNyY3;1~>XT8&AHx7bII=&K(ohFW7Xj$G_u$L>?2iAI?W#u?38_m(ve*q(YNNlo;g= z4F%)u4OvtfcbXpwJx2@_N2uObbPOhSqy!;=v4LBq7sdzE`#)ZjVez<5&?U-Sah^72 zV6P^ok7ZNUjP0FXLMwN{vhm*0?Wfu-^(iN+abtqf3H<`vmS2vIO09lpUeO9_a7Zte z;9Gt{1`NNm)S+5@S6x;rFo(}aWLEeC7)u7{dpQYV->BwkG3)0%Lp4C?g*URa_qj|>hRis-zctn)CLdigf7#Oghn6so3>cTR0PfHChyDkvM( zPRH7z7vqjq;b?OIOusWr9$iF_*DK=(#SIRzIG6B6*VDE;09F6n^f;pZee{f;J8|Ef z{_(oS8~%OJl)+uCQZAIKUfdY)s;Tp{9x!%&x9yCBacafcYGW__cOZM?MwxE#kDhDU z(!sf&XoOe z-|Ez5y{>zC3aMLTP+Ru|ucXGE1HRGThgVp2CcmLa6PdMfxc!u(U$7yikgq%9rY5bz z0mZE_9(|6~c1&L$dwEj)soS82hxQ~sM*reqXz2mIvVr_pSg$1bGoj)lAShD)KVe<^ zS_bK_us)*gL;V|TSfT$bu)Wt)B9eTi|bk zhKCZdFh!h)`SsuQn%T6j05Sr?%?ktsLWF;sBVLLn9&t(*50=y4!hcfx!|)%r^#|wW zV9zDvX6b3eY3*$3<)x{Lh(!3O-@pI7gmlCV)RmEu5D-57nMCjpC;|cl{lCF-wpKp& zYHl_uT08{*A|?#5wypV7KKX|j-hV(G7*phUB`geB|BY0$^|p1R=l$=4TWrggS#xpz1ODH@DOe512veVdRTMw5DsK#5l)UG#>8RZd;zB9#f)MP$0o##z^a%JM9HSIAhRVe z`fSYJrDeSN8rndwuH63JsG1Nj?Re32(X_+a%+<`@^}4HBt^7~mg)mYBw*GDV&MVV< z@~Y7LxXptpcyH4gBa^p=jMozxmqtdqY!DSxW-n;J3pH*q+m;*5O6uadLWMNN8Q-ae zAo4nmU}km!`FSg*3GZ7qVZZy%gNhkXdt)Rh(FjR!lmvQQIV-W{=G3TjJZ8zW3SQ}v ziDpy`uKdsm8te$&3`){j<-I>a&fO_*;lJEs-17Mi5jq~Q*wTR*7+v2$h?z6zxC}xX z^Q=grnf?w!+d^x_L z!mh&ndfSh8Ceg^-yOMTi@a2&8$(|?V*q29Z`nepSnbcYIyS!oy!ClF-Q0+*@37(}A zX!mffS?1TfcH8{DTZp8sLkUD&m^1YKZ-=}IeJjO``83fsfqmgIYx}Ly9L=UT)oROWUM@Nq35XL@LJ z2U4$9ei@2o**^y^XG!=85Vz{WQVj<8OPiOXS!Bob#@egVqVn}G=uK_`b%Rh}0ARYz z8bR!8e}mOsg$CU;!s^%G0i>s@(d4o=wSsbLpN(|`v<2u(-t0K(on8p>9pGj9y(!Zgn>?7x?zC2ros*3j2H4@Kyt z8zk)chCu&(ld{s)=kq@vL=~Hv9!gLklbBwDKR?OLl1P_dH0<*Rv+zBV&u#UxiyHlU zK4^^ymxoJSr!I}2ol?UAwYxw20eeZzJn1MZOJrrSVRYAyi*K?GN+*s;d&9X0=Vk0z z_+U!ssxO8#x}w5a7&;f5o#cD5fk4=&YckCR!w|`;NAolEh^`8IILDDXICok?_T4nf z?~6YxxCc8W{jT21rI;5;vgA^3w_YUtPoY_rPKXs%( z+!c3}qwjwYQHKCQcvVflN2Ws(lJ~FxWw-crkDUxLP4QyimWjkeYZQG@{lFW$0$~H) z(dyM0np2Nok0o>0@;R<5QYyCTN|~ecL-I7muiG`Bu>qh5b~E+Nb-x?%c84aw%apsu zxWmR?)?8HPMn%#@vmkJC=Lm)`XYifRFPm!G=&otjCByw!W=HzHC05oMXAC*g+iFa5 z(kU7ZqOuNprjZfO(TaszwJoyE;zZPV!y7<|H_m|+-GfqO(CfmKry0L+)g9e>7ZBC* zNl?jzjZ>&GelCAV?GFx;9jZzg&JRFPdF<5)56t3TaU^!|Ne5C+#iHqF>e=ePjIRPp z%V0TosX8uqBnOEqc#xNuK)>u$6C3*JW7?fIk>ImDpXq$^Z8z3wS#9zQ!F&>8I2xzr z_(0^Lr9T06X1|jt=RUh}CVn*&WO#OZacPgX)`TJ^W9Wdf>G$ZO^A^lPp9ctdJRh5c z;g`J9!~FLP)8K6pkMWS-?*k*nGIc-E@ujVdtjwGiWqC{cV5#p?GRSE4NMRVmBV`Oe z`C}9$uiXjGVg}@cLc610|?FUISjx2WKT3?5E!(3 zu*y;FK@!%*)&DVgse{NTc$(;}R*aX+ZGt%*IQG^U_nmL|%$@-yt|TZ?BUzl{ocg0D z<%mCdBl03Kxkoa;*8%Oz-;$g!AHkDdnFz(Idc5Am-T@O#A!ncR!u9W&9ONKMxiwY1 z(6aja&#pV+nzr39XaNq^ta7zO_Bf*WAVHcX^2R)Ym;(l}JmqmI%Ifby881ALWCBYo zZ}!h21+SNcPcGGW^fK3|BqQi9?&}6emy6XU+~bVXk6CUQzx(wlKQBbJ3DUhGcYuo0 z=y))U$WQyY?>Sre>kZ z<{bH$+3Fql{GW3lO+Mvh9!}e+YQ_KAJgh4PuQC0)LT36?->XV56k{&T*uPA=MCGMd zk}}cF%F6VMvRa@p+hdZR=aootJq#f8KKmM)FH%2Hi7t5G9)V9-ADRuS+KM z{|Jd)Q%WN9W2#9cF7;i~sKYfmcDnAZQ}UxdPclzARu~(b*^0w4Px+&|hDio(>XxUe z$u>IA5Q*gl`|z5)F%|*8`%ozHgYdX;Gc*^;j13H~_>_WPa^g z3_fRyZ=LRLlYm_FEIY-ELj0f*(r7%PU;^(Oo5D>*-{T0l@qOPBGFBNFGn>ow65C#leX}DE>bcG6Gl;|&Z%USr4lQ-l z_x$mH2x`33h(9OP5txDb$qkKeKb?JY8&>4>6R~BszVsI=$^{Nvh^Rv=jHe7ANE;Ye z`JI1s?o(2qvw#h{10I9epGUTK-p7r#+dT%2){oVK?0^5$Xv`aX%E9e_q4%t$4qs+6 z9+#G>2Yv!g0#;107AEur@;OACrPnLZw%nWrasvme9x|N)c(3E~-C8XU!&X8bY>3DB z@ydsZ2HBl^vsZ)nq@d35#t$Nk7TZVxMwu5PN9t$fkQWh5T@s(4j7(0l*^b27}}zFXOQ71aQq;k1Hvbupb>jb?m~otkxqqy@!!na z^qy=O^Zyx@9tjY8)RafA{V%f~QL;k8gaLoC^<*qJFdM~|%`TGsHoOsK_k`eSMXHsC z+RNkt4h6~*SZ21Wu${2LSf{n8@<0it?mH@FOK6Dt$HPo#DVwz@kdPcOYOsNvx>qYWlQbC!}H79t-(AtXrGZ1dsG zAWjLvg}zM{PP6Rg0XuqRZgxm2%8#=pz?0Xn)m2FlDlEUHj3MLQK-+@)zEyWrEk@JH zJ#=)u$mfy8mN|&1qVZqX@;{nq@*e4s&yS})w()AoJbk`VjJOtD7~iy%!za?z|4AmriotIFL3b5>%Vfw~qK~hspbOZQS zO+Op=kv!g5bVyG{jIU)t`bkZSmJ8O53Q)jBV^Erh`r_d>puGcH*$xwL6(1^5sSF2m zt{>0ZFy_O;ms1QR1`@_aSDqFP%=xf>U6?QRm`xQuG?HlMuzmKPZ;qll#&s@W89@E= z^4M?Xhr8=HioLY((sZ2x&RcDGTLqT;RYRPZbl8Vrr5e>4f}u5ec85snZ^Q_yrVgi2MQPoIAryBC|PZ!Y#J4>zb+MLqt7Xo&K&Ztt)F)#)s4h>Fw=>aba8 zx+F8u(t(o?T)eKw$(wCHwCPo=HwEXUTQfN2 z3(36%q{5+OzY`-)e!yR>#!|1B)7Xb-_ksdUdauvoBAC}>h{B?ndBHLK)RF7ZzRk*; z?1;h*cm$3QZha%r(}(v4*HZr!bg$lfaMK*IwvLPI0Xb=DeK~YO*%`aWdxO22dZvmC z?OP&R?KLBMNchZs!~0NCgnvMF&-kZk#Ju)E?9C6ne>$5|bjYE|H543y`F z=7DeHInnAczOcLjgp&E0BrNGw3q_<+F9x1H5hY8M61f)3vp$aHxMbxC&kOLkV-bm= zxtFSg%0~wu38Gc3sa>;+ISiF5Z}@1p7&h-&{7O23SW6w zbVs4~ss&C#nx0N}rX>L%#cx#ti1QDP^o?jIiJKGON=Wx_4ZuX{m;v2k=1MDD8SIdWoS`&SnhzqIL^6&h`bjx{v0 za6RKHm;a=$gl(p(K3F$DMiIM$oNfO}Vrl`E<$uiZ=5b%*OoLCHGtij5uKJa@lBkRD z4td4i0_Z4B^3c>wypkBspq&Q-up1#VFd$|274Fpb%v$MUT_yx@Z7 zf0)a8|AFd~DCtyBfvU}}b_$-rK?k_|I!obe0iqeA=Hh5}0+s*(uY}R;_{p@cww{r^ zD}7Vd3R?W^)q*al?m#(|rN?f@H*Gr542zcE7F_Ic7QHmpPFBH@*t>{OW{P2+N9F=e z#giZ$RKu3(GT8WY$Sy+YW1oN4S7K=HJ8n_0?B1ai%#HCNX>xaQj_dEy3qB0g)e5fK z{&p7oMezJyt53CxDvYI6XvX!IuE#>4dtC0^H$ z`+=HQ+yt7J(*1(7SM>5FmgdBv?^Z0WTZ|Wv48@^K@Qe98!HMGTIKL9|9LSXZa}4+b zIt+elEot<#Kl^RkQF|X!7z&922`Bd>MMenm%ZO#s;k?)$lIs&sCCq`2MN#o`bP11W zb{vvv_?a>l!X&c_-wMPVSY6kIOnixWq0rOJe373X{kAWX`?9pk^;=jPPG}4{SUEoW zH!YNaf}z#Ttaz6(B-9LZI+Lt4z;G&aM^#WD1jBNzB21$O(8uRv1f|A}b2EqbJZET` z8sHIWRrL<3nr~G{OjY_sBE7t$EorO)&xBtwgd!szh9ayS@WIKz2x=}y0J>* zmFxiAN4tT()T^ae*iZo3x*J+GU6OIGgdx5t1!r!At_KqGtgUTTla_C0Zs{R{}j zmT0rB+lnV>s3J7!urop-J>`7YAFQ+cjwq3?@|Tc(*UqtAmCg8q{MRNs1+Ltb!!JgQ ztIeaY=G~;=Gbk^8%~7clh)E=4pO07PLX4o&x_kptS_HR173!HzNvi%^aznl~7=Mje z9bYj16}Mt;+K6IilOE{^am#Cs&FHV;vTIVqXUPzunhGL;)KA_Imbv9R(V;jSq z4eTVlX5*O+Wa}@2$?lkYT?Bo3L9*Ky*h&h5@JjuD0|gE$081wm9_{8@x1E;gMoqIj zY}hE6Xqd-4c#4<~xPw{zY@5GFa@a7}QFgVe%f^eJ5iJh7P7NG@c~@0p0+{njt@4!= zGHqFZB<@}M_E~?x2xKl!G&fT@q}5_G{zDta_3PHa+Xi2gLHUrIVe`scJ}NV4rXq#( za@zLSb7)-*@&VIPX7brHnQ)Qo{y&t|Y3Y~fT6u#v-a3r|F&P?b45qg){q|y6ay8y+ zh`thkr3=&4OI6cf_bBSoDt(fx5g3}B*sI_P4k3=9Uj)52{sffa7XNi3qG=y0c^9SA z*SS$lS;dOa&BgU&)Y9oz7te6Zs1~n0L*C$;v>Q6mVk$1|uNjrQE5^RtoTX}PsPyF< z8jr`=OatwOmc*+cyQ(SUyZr4qTAmUOu4`E%_SWkG8rPw^2_R^mlz86h9^%4ol|Xw#T@A&RGY6 z#%iJAFjb z9D9^}xCle&hiqy7;386Q^9>q2DqT8}`+IUe9vzx!D#>43&-=EF-e`XPovW_HIw6z} z&13VFNy$5M0Q@YqJlX&5OG;u_a3+Xqu3&?9xD5SBJgiA;te&FsSqKwC1pD#$;IG(o zAOqQKuh5;Vz2CkR^rgz@d5j0o3TAtCpxvOTm${w=K{3mLJBAS(1A!J&#vnLb2GkQZ* zaQ`pxU&qq`iXUNMxco2g3$ZI={loiBzMKR2f2$1t@L%34@0^$r0) { blockData.removeAll(blockClumpDeleteList); blockClumpDeleteList.clear(); @@ -108,16 +109,67 @@ public class Board { blockClumpAddList.clear(); } } + private void MergeAllGroundedClumps() { + List groundedClumps = blockData.stream().filter((cl)->cl.y==0).collect(Collectors.toList()); + if (groundedClumps.size()>1) { + BlockClump base = groundedClumps.remove(0); + for (BlockClump bc : groundedClumps) { + base.addBlock(bc.getBlocks().toArray(new Block[bc.getBlocks().size()])); + } + blockClumpDeleteList.addAll(groundedClumps); + } + } private boolean checkForMatches(BlockClump blocks) { //Start from one block and work our way across, seeing if we can make a match of 3 or more. Go to the next row, repeat. Then do the columns. Once all blocks marked for ignition, ignite them and send them. //Lowest block is used as the block clump starting point. for (int y=0;y blockList = blocks.getSortedBlocksOnRow(y); + List markedBlocks = FindMatches(blockList,width); + if (markedBlocks.size()>0) { //Ignite these blocks. + System.out.println("Marked: "+markedBlocks); + } } for (int x=0;x blockList = blocks.getSortedBlocksOnCol(x); + List markedBlocks = FindMatches(blockList,blocks.maxBlockHeight); + if (markedBlocks.size()>0) { //Ignite these blocks. + System.out.println("Marked: "+markedBlocks); + } } return false; + } + private List FindMatches(List blockList, int maxSearch) { + BlockState col = BlockState.IGNITED; + int matches=0; + List markedBlocks = new ArrayList(); + List tempMarkedBlocks = new ArrayList(); + for (int i=0;i=3) { + markedBlocks.addAll(tempMarkedBlocks); + } + matches=1; + col=currentBlock.state; + tempMarkedBlocks.clear(); + tempMarkedBlocks.add(blockList.remove(0)); + } + } else { + col = BlockState.IGNITED; + matches=0; + tempMarkedBlocks.clear(); + } + } + if (matches>=3) { + markedBlocks.addAll(tempMarkedBlocks); + } + return markedBlocks; } private void CombineAToB(BlockClump A, BlockClump B) { for (Block b : A.getBlocks()) { @@ -160,5 +212,9 @@ public class Board { g.setColor(Color.BLACK); g.fillRoundRect(DRAW_STARTX, DRAW_STARTY+block_height, DRAW_ENDX-DRAW_STARTX, 3, 3, 1); BlockClump.drawDebugBlockClumps(g,DRAW_STARTX,DRAW_STARTY,block_width,block_height,blockData); + if (Meteo.DEBUG_DRAWING!=DebugMode.OFF) { + g.setColor(Color.BLACK); + g.drawString(Integer.toString(blockData.size()),4,Meteo.SCREEN_HEIGHT-20); + } } }