From 917ae7e86dc8a7827ad4753ff8b460a21c46248b Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 4 Sep 2023 01:15:49 +0200 Subject: [PATCH] feat: game level logic --- Thesis/Thesis.tex | 23 ++++------------------- Thesis/images/processLogicMatches.pdf | Bin 0 -> 33370 bytes 2 files changed, 4 insertions(+), 19 deletions(-) create mode 100644 Thesis/images/processLogicMatches.pdf diff --git a/Thesis/Thesis.tex b/Thesis/Thesis.tex index 6323bd1..e32694b 100644 --- a/Thesis/Thesis.tex +++ b/Thesis/Thesis.tex @@ -1615,7 +1615,7 @@ To simplify finding matches first game objects tiles is transformed into vector \centering \begin{tikzpicture}[node distance=2cm] \useasboundingbox (-5,0) rectangle (5, -9); % Set a custom bounding box -\node (start) [startstop] {Find matches}; +\node (start) [startstop] {Finding matches logic}; \node (pro1) [process, below of=start] {Convert to ids vector}; \draw [arrow] (start) -- (pro1); \node (pro2) [process, below of=pro1] {Convert to rows and columns ids vectors}; @@ -1635,25 +1635,10 @@ After finding matches, blocks where matches appear are set to be replaced by rep \paragraph{Replacing blocks} After setting tiles to be replaced, algorithm goes through blocks with ids equal to -1, checks if there are any blocks above, if yes it replaces the block from above with block from below, if there is no block above, it generates one randomly -\begin{figure}[H] +\begin{figure}[htp] \centering -\begin{tikzpicture}[node distance=2cm] -\useasboundingbox (-5,0) rectangle (5, -11); % Set a custom bounding box -\node (start) [startstop] {Processing matches}; -\node (dec1) [decision, below of=start, yshift=-1cm] {Block id is -1?}; -\draw [arrow] (start) -- (dec1); -\node (pro1) [process, below of=dec1] {Replace blocks}; -\node (dec2) [decision, below of=pro1, yshift=-2cm] {Blocks above?}; -\draw [arrow] (pro1) -- (dec2); -\draw [arrow] (dec2) -- (pro1); -\node (pro2) [process, below of=pro1] {Generate new blocks}; -\draw [arrow] (pro1) -- (pro2); -\node (stop) [startstop, below of=pro1] {End processing}; -\draw [arrow] (pro2) -- (stop); -\draw [arrow] (pro1) -- (stop); -\end{tikzpicture} -\caption{Finding matches logic} -\label{fig:findingMatches} +\includegraphics{images/processLogicMatches.pdf} +\caption{Logic for processing matches} \end{figure} \subsection{Dependency Management} diff --git a/Thesis/images/processLogicMatches.pdf b/Thesis/images/processLogicMatches.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2cee98fd9dabea295914ded962090f62259e917a GIT binary patch literal 33370 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

Ba7=_OuF{UQ@}p$mCAw$A5tuz9IEUQ zA}121ib1Nx%?2_^0nMAk9%t$iMdE>QG;HbzM@H|;60Ho+cPSL8F8&6%%sd=(F}Gh2 zevw5zVNTGU4CTy-?{(LMY#&d8)2V};RYJnX4AXv(TCR#Zw}wi5p4123^rHA+2mZIZIAM(>V{9G|#c zFW&jgNQ}lGw`yX91`^txIdl<3t)4QiZy7}GITqJg4PmXk;8~={w@OoGPN3>4kA2>K zC{zB(kRXmO%ViGN7)?5j(>1NRO!e7B~(*oAaySsxpjTNO1d zm8oLU{eC-y8;mq53%D#_3JZ``yIst)aF~P95Yj4BZEdj>gj(}fM?N%SZ zmR51oPfytEQNN3lVq1SxjIB9nKh7dSPM+bvxyx0R6EJC?8SPpooE-j;J#?e+T&Z?f z!m?n)Y?HuZit0IX_-y1RRg7o?eshpDEFhG+1>mX~%$_M$v}?=u>kM@JP>CkJAM8~J zu{6RA#JJkXz>Cs=^&%rVZ%6l{hDeHs7^5W74-Y0y^IZGrEI*Y0`5-OR z@#gENp#q0VoGI>g;@9$IawCxXV2U)cFQ`*q;(udy+7;1)yu?k+oc_(fHnhtuR8cQ< zGL(La>ZF~GE?rK?*Z(Kq;{!YKC5I>+i47^dnY+W{*ra5Ra!BMwMZSLS(Rb_xxW*?> zKM_R-mlJnoXAx1Qlt?Spv%`4+(HgycqiIn(q>49u1FP&lg3u81u_VO@(K{%3&&`0+q`5Jvz38);i>uoitr+w52L6nMlq!AtPwIjH@Vf~8Tp$}O$A5?g8YGT81T!N`Jbl73 z%}Wg8slt+!6#vk^FGvgkX$W6XWl3fE_StI@R;tPX%KJFcqZJd}$-|+`L)g8p(!AqU z*WAn;+l0|y=cJY?!ICE19{YzOY^uJWt8M%MVC5#%*m%JI{HH9b>DxBJp;st0X15Nk z<|*E`|5DAd2j>wU)J$A>b!B_V7G00qQ48L8=#^H-Vj(Su)wkTfsBx3;zei9?P>MoE z-N5Y19Q(&+>Y~yt`)HwbKly}|ms_xma)!f_n( zs5T~~+35bLC6p?KXBDd+=xNHfeGa>CJmEyH>IxBdqj9IXlgj@3SWBO+HaNcnr!g-# z`KRgN{QsN|b`~C<|CoyL{#cx{HHa+eB-J`bO=1m2&K za>Y`3kV9)iE_(!<>jmT^1QwdHOw=_30@;phgzkGZK7z8sI*)7SLN>T4WR?79KR)uh z{nF>gJ-?1xpJct)*H!Soj1q2O3bki3!p6uG3h3;k;I8Kw>WCT2n@FGYIH_V49Eq*9zGoz(X$;O;s`ukl_P9;(p_n#%oGq6P zgSj}GCOjtNYn_)Zp_pxh(J>#yIAzx)u6gkLpDx6ZC76-egXs<>l=c(pNF?*A=5XSJ zznV=g1FF60_*bV!n6=?6IKs>&4Q)E@!j8}pDNhIyb4!RLj5(N>a5QDdVgR8Wl~Su~ ziZR`qb5@&Z&RN5K!)p*C4Aj8A;U zB;gZ&!Z84vY2@E(j?*%Szf+QO+!R$sPsw9~b2FXGa@}N{wtrh>=?e9)AG8n|T|>wb z)v-0ia_lHr_V{=Rtoo6FseZhI^h9b1d2-=ds_xWL$EBbO!rY=J3+mFM5Ft#YZ^{ce zbdYAApwWA#h%TeZ`Q_5agCxRWsOGYl~g{MuVw;zTaC#+L&t$O>b}T~>O5$T|m35L68W zlsOCSHoyut%Rbg1wyOaZZp~j>b#Aw87+M_KBl$wRevx|t@X{ujDC%b@~6Dd zFn?vWwP|hJ8~Hz+#n*lP(fd3+uj_lcJYTQc9tF0w1@=M8Vc&eWV?ZTSbGv+e{J5m! z#J}NoIqGx6r`MFSdDp*i^qKsE`h4Ota&-K1e|wCtbKLIrXV>+zXrAgUJ@|R#6*mk{ zKy%aQ9`iVfk0RxTh$Y0tK_1A!B~D+?UnFHsjEb?OnHZ)``|_~6@pFzXKH&WEmiqb* z?86^j4q}&7r&)koj@igz(1qA!n}NYWHCQtQ%eHy_MDO3K_9&C}e8qCrs!jH#hLjR!8E#}7zNb7^KkHc)r zGFCB5+T$Iatxe~$-B9zVKi1EHQ*{1$rvb3RDRu#77)C2@z~NuuPajP1@os=Qd~R8n zFJf-^(;|si>8_tfM1|F}p&MMTb-N)X&=NOSE6gh{Y+s`6BxB=R7ljm|uS%F+=E!3) zAnI=y1DrxjTt%%g>eR4t4W(H&hWPP)6I?{Cg_8`t_&+>huJ04qNjp_SmprN;P5fO=o)XSTp;*FiG;jtb%U+)Pg{G6KksgVbTC#kY7|jByBrsL_Q=XcPNam zaF}n*UqJmQjIME~1|^VwY)sTjP4CL*&GV|rH}Gm|e`M$N4WC5z&ycWi(0SO-FO>t8 zs3KG_+(BLlAw^>NBuomHVz5H7=fii(WT;}jNSY8A+w}cm{MK1-xc+Z`n}3^0S>jH0F2sNz)<-r2wyD(XnZXL zNu1;m+`Tgae6pK4g1S@>BK{sF2>7Wv9diOy6Ijqat8o9gL&f*&+47*6_78At7qL@d zIOU?mf_+_dqxP|NpVXEs#7t-^8c+V_=8H7sVad zOU64wokonhQN|2E>dI^)cj88_wVT2Q|BsEAxzQ_i%RR}95OQ%u$=B5Qw-|);+7Th) z#L(xI$4d8-Ck2W{6Qh`0@rxam$D^UQ&xsf>?pE@yRiZpehH3M`w_KdQ2lM%IqGH<- zm0{CSpFq>pv~Xzeh;WO7pmMl{d$z!e$ObXj`QvHVp105o9INLS1AoF%vpZ$|=J@Sj zAcu^Q>*%4nNyc&W~Ak+mdHn-3U3Y#URO_gZS6+3 z7G4ii*?(RcY|zYOU4NLO?n^Z5BVv+;-`J_#76fQ5(c-N|znZ;6sjx;qQ4+J9Hoccr z0n}8GoGS(dXe=OCX~U{9w?&~Z)vVBz zYiW$btQDq6K)P1a=T2z~VoX#-k-;|;POID+Q|N#enKk~b$tTpn4Yk(X!CROb>T7 zjbB7ZfQ*YeXT;@z_hEv^_{I!x3!XFtei(YkN*e$*1mz9~H5MH87m&CvWcjNaRA!Q` zLfi`y7WyxGo5t6tcJklv!?{H> z@GFASEZfxVdZ?uRyl|7L)Ufq2s%#0opm(M`u;m~U33^a6OH3MbQgn+TNL=q;)G!xr zrzqLqE3%7XYmdy*Jbs!(#^h4L{p9hJ@M72A$Aiq@I8-dEd{$ZYK zEqtWQ34wz$fpB}#C_l0}9#TO5y+y1-Ck*A#R!2Emg1MErbzuLPVrw9qx#=V?le=#N zIL^@iKf{-8+YSYq=tsv-X^Xh@`-wT)nD@z%n(!OPu)UifMn-)CT7{qb5`LC$5Q$>) zt}9H*jbDSNZ=n{(q6MzTz$>{o5mHuK)NF3j`Vw?HjS5U`AI;V>gAswMjwgotQ=Lfzm!JYm z^S9Gbbt?R_Ccok_vB%yIdLjXhROORidJ({t&MK#KL6fDqIRscv?jk)GHM; zY$1LaBUlN9yCg(8Ax_0u6t$z~c^a)TRh3R&{e=K?CG zm_-G#M%2UHc?Es}wtx8!Pw&wu`hG=Cu;1mZOmA540{3X!YjBbuGi&aFp6g(eAA&)J zcOueKEY-`JKM$}7wKWvwygu{-0yudjA-$3&nfQya)fM`}gAY%H19*dbk;f;tC(<(1 z;Z=^1j_>iufDll(4GDb)raYV<)<2{&2ConJy-qETjM63=Li4-=+41|}R}k$$#SdTk zUKpQ3cu)=;QcD^E@%_0t<*@Hj=&)i}EIhEV0;MtzqVc0V!84|r{LOaYw|MC&fJt+w zgzz+T(EuY#cnZ^1-ei(aCQ;!#SYXEmJq)uBifF+!Z&P5#>-d6E=_l($T1B7yhxu6` zPU$DbJn3!++kFgLX&$w$5HqhU>AsWI=Kt=Vg?wTaJEt%?#)ONBIUZU`-W%)x8_mo{C){FGv?%!fSBt+C9gn8_iGQhxj^@fu{=>PuD#P_!HvfIIYSY-kA7l6z?JI3TIEE*6o9Ds3 zMh24h#e7C4Hj?ga_u~kqJ395?HJ)mNk`yA%R@t;AJzGbS5|VNKj}W3w{m52rMq2qP zzLVP^zAkTSe{eyIg2hG118>k;a4b1~2;M1+c6?Z;3*n53MTh!*ftdVZCjCkG9pf|Q#+ehk-MLh1#y}z?9U-I|=ymQG#t9#qzC&mi+ zt1~;(o*8~7vobu%&pVea*9DO4@xcOM*gE9@<>-PP^$~RmP0LfjIBuJ4R4ntj}o!eej=53p;&Q zqQ@Ck_t+#-Bnoa~8PUZKf^Pcvr*}%nZc}-VUy!8UdDj2LSp2`{z!LT*=4NK*W`F6V zzdo`5ZBA?KEU3;Xk+PO>}17g?`84tp3259#`gbZ@2h6*V@}M; z#{6%NyQpZ+lpBw#Ss;-_Db?sw@+=Ea7#+U;>elfy$2E+u=g4+?9 z7R*`(5M=M%Lpe>%DwBQe8z)< zi(Q}oNE0cBkTG(W9`L)lHlYQ2mJrB$U(JWG6LR44hw4$d2_7%b0l3{Oiv67}6Nw72 z*Rie72jbTZtzg6z2wg_rX$i$zK=Vb+U66ghI{3Z5DhrnwjH4dWYcDT*!+nTJcA3qBn{~V4Nc#!kX>0Qjx_TlaoJyzq2 ztGg)5`j&^$y+4XQ*bJ9F=z`EP+Agj0(yT7hkIaa?OGcx*5J=F;GYnJ=PLt zIF_Shwn<%m{W?lQM3s=oULivoIYU##LzMcaV%BFC2+Ro;4#>wc!{V)5J>)mB0G-^T zao*EBxl00YlCCO(x64h2>bX%*sa0M`ABVK#qxo?smb0sse-WPSUJdNu$E}z~s zZ?cH^F(Cl$^vI&WTJGuDwP;eQ4>iV?OVkJkpPtX9>@AYTwpSH|@)#Fm0N9l#9;8TQu=p<>;Co#4#GSds+1uLVFWPliopk zqGXwpUj&_r#{D)Pe2+TKwph2Nk4f}3dY0-8YRooUqgpgC8}k4;caPO#c}r&uTk2d4i0%HxtObW&y6M{l~_*G?1s2 z2)m3ZvP~88drX`9L;92UmMhYjR`uUG2-#4Ekty@4C&>pPrXs?M!|OCh27LvI``tgX zyBK(Xd&5UPs+#gKvFSg>0z{nVS-W>lJCau)jB`}Yk z{72Nqq$-(L!DkpKgKRbx#GS^}W0e!t5Uy@45o>tyQo4LrYEgsLaTD6&Vw)W&m@3a> zTAr>R9(raswuvs(r_S0UgL48w=Ro6<|0zZOPwVb~B|BW6k-7Ov^0T32U_G!Dqb?*di9SJsZ z?g6tKO|T|@dEzVjrP*rrjh)5bCC)L-^#?dOC@mE1#&ABd1-{9Q3>Ypv7N8#+AzO@; zVQ19_96vN=x8J#{2H4d_?BgZC8?p2}zhqeZd#Vv=UZzzcuF7D#Vsqk(m|!PlPAhb1pb6ciwo^)dXOKknGwl~)Y`|y$iB|ec zwSp%UzjZW_mD98A5~MT$B1}b9%nZx_VBc5>M}PZBJ8squa<;6K=in_!P%d)IS!n9} z?$h<<6Pb!8QP93|63}t#D(!v|Y4I&$DMhN`uE{Z8Ts*=$z-2Iq+Wsp*E{k=$j*!`K zv6XSm270#9DTV3d{4$);q?Yz}EJ<@c!Nh7L{8dh)FcF*(iR81-|CKVPlwWlhu-u05 z>d(c9IGyU6NX(2fb6U`AG^O=&a|V#x>dx)vqpu1)!f==?4Diqv3gis6 zJu%@5-r{3*<-ghloyOLtjg{)g{S`V1dCwFBi$;?kLWQq9lAs!sv?I#2iw z<~jG>B)FP{oS znYt+L6!C>N9@w zdh^;Pfjc}-p5i%H_fpLgZH#F*_J(YMXmFDo30Zz%(=Co4sqU+#^!!ZBwYu+IFsIfJYa^ zgt<+P>$QQJdnvpAZ=H3K%Y>%;&PTJoYW%60t1Ww$-)$J?a7;1|7LLSh z|JD9qa)!35xy65H2ySLLCM{w;VwS&yuo4^mYY;PYufG5@F)Pd8b3s8kS2q`PV|zHS zY*PT>`719{Bs~aJoEZp1i97&Lsx1sb7XdIeLk0iy D3m%ok literal 0 HcmV?d00001