From 4c4411f0603781c6753c6cf013bba30de2a7c14b Mon Sep 17 00:00:00 2001 From: Dan Head Date: Mon, 10 Feb 2014 15:07:55 +0000 Subject: [PATCH] Fix dice roll - can now roll 11 and 12 Change dice overlay to increase size of text for selected element Auto restart game when going back from victory screen Increase size of dice images --- README.md | 6 ++++ appinfo.json | 4 +-- resources/images/dice_1.png | Bin 970 -> 161 bytes resources/images/dice_2.png | Bin 981 -> 171 bytes resources/images/dice_3.png | Bin 988 -> 181 bytes resources/images/dice_4.png | Bin 977 -> 167 bytes resources/images/dice_5.png | Bin 989 -> 174 bytes resources/images/dice_6.png | Bin 980 -> 163 bytes shutthebox.pbw | Bin 23967 -> 23879 bytes src/game.c | 59 +++++++++++++++--------------------- src/menu.c | 1 + src/overlay.c | 48 ----------------------------- src/overlay.h | 12 -------- src/rules.c | 2 +- 14 files changed, 35 insertions(+), 97 deletions(-) delete mode 100644 src/overlay.c delete mode 100644 src/overlay.h diff --git a/README.md b/README.md index a779882..6f5692c 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,12 @@ Based off of the centuries old dice game. ### Changelog +#### V1.0.1 + * Fix dice roll - can now roll 11 and 12 + * Change dice overlay to increase size of text for selected element + * Auto restart game when going back from victory screen + * Increased size of dice images + #### V1.0 * Support for SDK2.0 * Improved logic to test if the player has lost diff --git a/appinfo.json b/appinfo.json index 25fd87a..1fd8030 100644 --- a/appinfo.json +++ b/appinfo.json @@ -3,8 +3,8 @@ "shortName": "Shut The Box", "longName": "Shut The Box", "companyName": "Dan Head", - "versionCode": 1, - "versionLabel": "1.0.0", + "versionCode": 2, + "versionLabel": "1.0.1", "watchapp": { "watchface": false }, diff --git a/resources/images/dice_1.png b/resources/images/dice_1.png index b2056e6c2778dc6b37c7f77a5c8485dd9cb58483..7396bb136417e0b8729682985c975715106d2c5a 100644 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI83?wJF-0KBWYymzYuK)l42QotsU9JOCj7i?^ zE({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>)^mS#w$Hc{{VV1Kx#T_W5=;`7Z!f`!$ y!~g&D8yS6M7!;E@ECmw#TPG-AVh~{5F3#{XN?W&h>hAAA#SEUVelF{r5}E)(I4G+C literal 970 zcmaJ=zi-n(6m|(hrBWG~pbIBgFrdc2QYWz$Qxe-Dk?JT)B9XCPw^v_IsJTweHff?R8QB;zMHh7-sQPvfHlXc}AAE)dhDotrt4-S0zUm;K zvl9##`ypjBOkpn$ZD#-p=)j&AXzcIzA6VeI8hc;11S`~G->Xb8Y))z|XEJaUm)*Mq z3b9HBd`N5%`-efK#u_`*RjHpG^DLM_$UtMyifUVRpd$={%n4~n$O<4Ua$;sTm&@${ zNe~5Ika$r_i#atTse%CJ4@{$UPDol>04?kP zP~TsoBhrB9_5M>hYK=q4H(-Q@*r6BK-A+=4s*a&e5N;uKxR_$Sj|htTC1^+2T86zLeT2{T)wdgDL=3IAmEyhYNPmAG`i~Z}O7e{n^ z5_h?_G*~V^4CuCFy4Fv>zIjA{iA(kUmPzgD>FLYw&wo;Hr)m^i@sG}d>wdg&^df)r x?!{Y2Cs(?cNj4=NPv2e5r*CXcEBN->y1;zutxbO&KYL4gOx3IzuS*Ay{{ZScEXe=> diff --git a/resources/images/dice_2.png b/resources/images/dice_2.png index f3d1a39054874b2e20e028183e20b9a8eadc25b6..c8c2991ff4eb1b6a4b91e1a5bb7e00f3c9979924 100644 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI83?wJF-0KBWYymzYuK)l42QotsU9JOCj7i?^ zE({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>)^mS#w$Hc{{%VoFuO)F4H+tbA{gyVYh zhX4QPH!}LjFf4q`>+t9gqYsk~W0;djAfwX11Vya{UJt%8F}yf!EMI+@BMqpH!PC{x JWt~$(697WbEt3EM literal 981 zcmaJ=&ui0A9FN-&84f(EFnDC>$tEvpvzpkrwM}OWODSEz-t24g+J-H8S@LGHo~k#` z;>Cl4Fu{u_Zywx5@CSl7QShdSUi=TNFJ0U1U=1YS@AvWfe7-;4H}`7Q8%v897dehw zs+5g7v*(ld%sl&kdiLQRGZ$#7LAOYo_E3nqyhBjB~L_=ev{!nke>qJ)xHtNZ1i2RaFxW zSxzxTD%$rcic@~HGEp#aWQT4*UE+g85w*x3)p=IwQ43x$mGz_XnApI?7zLsvz@()K z&@}%K^}H!MqIG;+?>~hjYd^qZ9Y%9v*yk$@|p?UW&kQOt` diff --git a/resources/images/dice_3.png b/resources/images/dice_3.png index 1a2cb164e3627266dfc02eb3f54937d7ee07790c..742904676e65c8f77223aff294bd154a2f0cab3f 100644 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI83?wJF-0KBWYymzYuK)l42QotsU9JOCj7i?^ zE({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>)^mS#w$Hc{{WAJbZOBqne)YHW=gyVYh zhX4QPH!}LjFf3%|5mk7^FUF+97^K9m^k$<#0_TKDk9i#){bBS03WhOl7iUP^WD;)r SF{%h?0E4HipUXO@geCx)8ZH5LZ7*0PBtrk4m;$cY9lbf$?cAMC=?j~8A(v)R)!MzBbO{Tk{O(spI-E6%S zZ(bF8D1un=(2F2?Q`D;!Z;B`g{sVtPo$Qw$S_8?qL6-7xk zBq>7?nYa@Wm}G)@W}sl8*onN5csKy5B5dGoqOsIzuLM6F$_8=2O|)Tr0z+QpgtVjq z(6;{%_5C3_CKdG8@2SFZtrH@?f?~WKIrQSzXVO%msz(SC9Mv%19CWeV!UV@H90I*6 z0~E34s_~+@cK;7VyEN$l diff --git a/resources/images/dice_4.png b/resources/images/dice_4.png index 67b4691585243e67ae4a552ee64415e673c9861d..9fa78b61b8951aa1641350294a1e227f08ee2a6a 100644 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI83?wJF-0KBWYymzYuK)l42QotsU9JOCj7i?^ zE({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>)^mS#w$Hc{{!>4dm@-9$F-P6S}gyVYh zhX4QPH!}LjFf4q`E6Of$PX0%;V}t4euMUL{1J*o!hCpQ-&+LT<{{pozc)I$ztaD0e F0svy~D|P?? literal 977 zcmaJ=zi-n(6gCtgRMe$nph!qpw=fa=?9>gmYT6`rXiyzRNdy_=*q6j=?K9^qaWbI7 zME{CPl@PG-2fzSqfCLKz0>Qw<$e$3-X&e{`mhAW5>HEI-_o>daN>5tw!>Mc#O~%9qCdPIsN&-w;N`aR3 zf2i+I(GjhoKlT1oIBE<+B-T)b_ld(UuCtP)3bi6ZHpQfY@m@N`Y7bK!^>7G^bp=?q z;{{1P##@$F4kBs?4k{Zu&lCjDb2UYVN}*6H6_l(YNv5nS>YAFD<$S&XO*30exdwLj zeH74?>!#cygfqFxD)=GGY#`#@LvD#+AB(d9v z*RO1yxw`dM2It?bwqE?Wwe(bc@QHl;c)5DGeBt)$lf?sWj;sGXwM>tX0!HV`X2p13 HXg&N5Xp%1` diff --git a/resources/images/dice_5.png b/resources/images/dice_5.png index 271cccc4c3078eb073402c6e40f80099ff93750e..4624fd1522e997666ab2155f54c834885aab3c5b 100644 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI83?wJF-0KBWYymzYuK)l42QotsU9JOCj7i?^ zE({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>)^mS#w$Hc{{ZRKZBy&fo}=jq}Y!f`!$ z!~g&D8yS6M7#2R}6=jz=C;y|_u|f5K7vG6Sj%pp2h$fHV2j7?&7JRpD+$8OI7^suM M)78&qol`;+0K^tAEdT%j literal 989 zcmaJ=F>ljA7(Lnwp^75W0R^VR6%)ihJ8@E5HN}bDHd0-p)QF66>`P*`_PO?zI2{;R z5I>+3VuytRu`y5~mLhdxK;kE`Ff)a7nxqU3mdAm;8@9w)-^_|V7#XE}tfTh}& z(O`2f8`tL9|Hr$tZ*00v%_iL?9olzd40MmQF{}kn7dNou4GvE68UXX0Z#QYv+E!f> z@J@!|(;#AO0M^#i$Z_{Dg>BsRLyi0W=`#m?Pvf4-7P6u$?)h6sG2T7evE8FRSMj*@ zhj1-bnLvQ41JhtXOw?54M!G6nXWIe?M-aNFap$I*RvlJJjG@e5k7#rhUEYi3hrI9KK{eGYC7kCnP1yNCyOhc0L z43SR;A$8Jxn5;|`44k;JA5ou#FjI8eg{!ihbIu+YE>IgDL)ah;VcRisv9>`)ThgzQgFvECz;Bs~(r>aGke z$MwT39^oxZt%V77LKoKzjbjSD?|Z6Jtmqq3d9@-J3{f;CMOKQ6E=jsxL8e)#PPhhf z4+9+13D>*eDl@rRD+CeCY~a{`hP{oL1aMTc>R;kTmXKVjvN6-kIoG?y%a~i5$rYFx zA-mXrE_$-Xx+hys+m;2>#>XM+_L#MG=kc3W_9U*>w{3Gc9J1w;FW;ZDX}xCXcKWm3 zYPG)3zMh=1!Zr*T0rm^P4v-2mFV-#p9FCpVp20AK%_nj=@3> V47ykJ{gYuP4r=C(@xIb}@fYR)^mS#w$Hc{{E%>OX={-=BS BE6V@? literal 980 zcmaJ=&ui0A9Di;iI_zbr%w2qB9&LVgZB1yLX_LCbGD;h<$G#@7ZRnC0lUJMdAmT;* z8w9W7Wj8_aAPg@P27(8{voP@D+0%UK+RlSDkbJ-2$LI6;{&?TKtnWU^tgNp905Y|0 zqrvQ2`d(gU-*0b^KQnWanl0KST{=P$2D(c+7}k8$!wrnw{l`bR1i&)q*)7_#c2tM> zJW4Tq;)je4Kxr!pku$&)c5u%NH15}jj~w(|jeC^0L@TV|zPCM&aC5wCJL7?)xZKt~ zSV~kT;A4tl;_n5qnrPfaS7m;BEO2lFp#zOOE2?GHVTD8(=6Nyehy@WABwosG7K_C@ zP!=Uo5M@DBF&Xk=s=pMs=EtMH<(qG*ks)G#c@v98aR2ASsHHYRGby zA+qs)Kv9wn;*FVtfnz7~Lh6wKri!RThE(HNrDrYp;aoO|r(Kb;iP5NTU?92P;bh07uQl=$Q4*ILVB@(UG(gT zZBOdX*OmqI#m52L_K2bcWm?Y^pv>|55GQTrcg6e&yhB{oU<1tIxnPcztpKT_f**GX+pHca4K` G`}rRsC@!Y} diff --git a/shutthebox.pbw b/shutthebox.pbw index c689f6e7c596ceed747f1d6e54acb6edc8f70214..e065faa55238d94d11d486488dedfe8a2560e1bf 100644 GIT binary patch delta 5599 zcmcIodvsG(y5A>B(=?=Fy( z?jJW>I;+ZeU|3{joKyNZ-Ke>9- z=7xJ8a5P1z-d#f2qrU6CT99Zgl%W2@JmHDnTEpqI2c`YRdBCJ^G<%p&d2uk3(t2ZwLSFH_>8ElC)!NG>%OHI3u#m2S6m!jtDEXFrxOx~%H>@N z)d`DQttNq!qWwIcdVf2fk$x|p8h^B7tM!JHl?G*2>X%umPiCdx%BBWRx+(Jw-2>$n zob=asNlz8}{X7lYq3^gZV&bIt{n6E&^dfp{wSMj-ISKr@s$bHSs9e=+X|y6L-8HZJ zxy}&IhAu4HCZ|7fIJ67w^)t*?8@0SEN7oQ%i#*=sL}0S+01JoUzPuSPD?J}3;pLaG#9FxY@C!K&$KP|nPRn=m}QaLg=*T{sujp2TrF8Hzyf^fOcS_#jc1CZ#rlzt zY}0w~sZ!-{v3>}y^5h|x^G?Qd^5TiYQ`Qm;Z;qYhunR5LR6*APOXjF(mOZMCpIwii1Mb+#FcnDGt_ zm1DkNI1_}IZCrk$XPSMwquKg^uOha^Y8O%k4Q4}fII5y*T5OMKYqk=qwwY{;ysCWF zc}>2~BdL4%+(cR-no%}yeGmSJ%jM8=(&T*13G?A7V@}eIc`jd|oYx0vkiS|Ug z+K^`{lB3xqo<5BQhx?EMsH=y%jZl*uOdy0EIPXI>8~7yfU!Wiv{2Syof?tg%##R!Kg z`?52Y_jNBt^RXpi%N5s^R+Z-1V*M!WDr%3)6dLRch3xDJdOK?d4#aSp6 z*|@@Vv|ZuXnhh5nH6+Vr^+DG^2h}k1(}%FdNeutCVoB! zTj^C5F7V8ATy@TKScFT?opn2GB>&;_INa&>_>{8Bi!&-s&htLfe)dasRR8_kZ3{n} z3t1cYx$z9B4J!O@k z*w$c*4t@Wad_}4Zn~`kDR(-?e&pf zV%o7RvFdfFUf?YI@7ME3JW*3b&#`Ny$A`@tUJjTETa}P6kTJG4%rV(+Faf)ezXDha zn1M_{gZ##>XFG}H4#rn=S%`EzkuC(|>?T2V6o-g(CP=d4vdy;1P_7_2&QWY@v8pKB z9fU^Ey#q0XNWTdp1ZQcXva1oBppf z^sd1Dc2j+`m4||d0t><+lSr=z=7&Qjk@g2F?4|~0pH~AF2%1FN2w5*A5NSQgC1k9H z%xWOgV{|YvqxShgQO&%YJIYOS4CmDeAh8<#)sHOTp<&Z#?`>d2dS%$a z_7eh8HSD_yYc>fs{vr5pq6zsGN66zq9}o>ZkKM8qxG|BC;;vX+fT9t^u@YHC`u*@S z1if*N`fv;#jXGHzjY>|4JsybcEbg9MCvS3 z`dGHYg9vfaHrDHA+Lm0zJxC9AU7;O~_ydH5*I08}w1*zi^+@kBqro3>`As=dMBF3&4s| zq(f!`S1{pWcwi9t28gfHb#1XG2$rb{e8qRC(drF2Y&mU>GAV838BE2a` zz>AE$4%@yI?Y_WGsxK4@X~3CJn%+vUOt&{#o2_bZ+9)Fu?Ry|jxzV1BbPc#aFQ5#Gmg$z<-G%H((N-e65Nc7>^#pr>ld;LE?q?bGd0KcnQX~9 z>Psy?>dRcB>p1E&ZaeBrZ*1q;HJ3<#kkjm5v|%dUkW)r|^cr3URwL(}%-Pr|3-DUN z(tV@p`{cMvri*_lwn}Z=V&&`O1a3F?uSV2W%k@IBO~;&O9;TW3ZaLu{WJHW=IiS+Y>O?Urr(<)7p%Q+z#53@zMA-sCN}{QsIEP01;oaL5{)qcEg)ejOSNLN0 zLB?I-fh*mIm4f;1BMP78KCbZT?$Zh{cAruB6nDSEC%MlnJkxzq;YRljg~z+ic;^{W z)Zlg%C<(2*T;arRRk$oV759_|L^F3g08bZATT_B}!`C zK1Q_LAr31AKM~n2V<3_QgPWBpF3DB zI>!=&Hj!6&g(xU|rr4_RQn6p*g(7`EYkG7tv5`#tivoBCXPU*4vIc_dW zuh%aRfAXNANfTV{IREz-64DMF1P%keKtFIExBz?t-2UrCo8!O2qiPqkfLtazd=2I-5F2-yw!hZ%3zK(ODjHzzmexl&0g!Sbsaa0MiH#d9cE-vO5QPuh+3 zkJV%EAQ({@(-j^xJs2W};lBsV`)3^whc2N`?;T)yA!SnEGwA369dcCeF`}0oA?E@OT6DO*>^CX5Hpl( zy3*b0bJ|&}z{oR0Jf4nF2cEZw0(edfrMfnuS{AZ;8QB)%z1{sa z4n{7PNY6Xy_ddXgzRg|4%E;kRs+*B}(NjBn#Y2kI`IN>N#GIrOO@6-UNXqxI?w@rI z8Sqg^&($}~n6s8;N484K1@QwyY6RkO~)VX}|8ZEj#r`UKMr{=p;iPf=&wL%Zjbd=mU9C5!y-{%HjhbP&Tq&p`*eW@_EQk#b@U(gB(;6JG=X3M{K~^LwcflgiOyNLCe2-GeH3uy)bG~3I(e{$v zx&varo>)0UF(a=~tQ-R^w=b?{HR+*N+C$edtr`>Jk=&UD%sHWYN49#iqPqs5uGbSnKuS&v1_h-(uJKIQLr;?}{-zyTytT70ip`J$P;t zx8wPU*n{U?;+G>TG_wXptEt>KaWIb>vHcXTn3phCJFp&D3ycNm$)~qZG9EgVm%)?| z(h2!5m^dB$74ZGwBf!^#uLge#x{cs0cqe!+cn0`m;Mda#xr!xP2!0}s%q6d(&<};5 zqv5CE-+&vOhAxejZjs*y^-d3?(+usU1ed1hBTp_L>@J1LH$65 zh`cE_0?Z?5upnj!k=OLR2PaX>AmR%_?f|)hC81t@6Y`gkj{|Fg6~OmRVL@yLrjQYz zf^%evuMATtQKv8>K84)xnF5ioMl<8n$ZX7X(+Tb;?d-pJnH@vZcsJSsqcdV!OoYKi z_Tb*W)%-+UPINK9GXX+;@u|FphASpa1ab#3@mg$lvwHz9{*OK7LIuZ^k42Z|A-yf@ z(%dFe=wpKz>}ph7T*kW^-SFy19%@hlFL|{)v~j;~iyjk%0A01S(b&K<3b8Hj(?P!; zX0-$~<#l}y*C(El4p*gc+4Ik>TRBp;;KJ<=oIt;T{&IwKPma>hc5WN(4-#IiKo-jeVL8Vdy)mFa^I|EzOyf> zRO5Y3*j*OQ*czU*zqlaBN^YsR>)^jzXn(aIDl$Ehx(OWk9QLJL^RFK z6e4``M1Ch~c3K6^AzXCw8&OhdF0%Q!u`sDLn&PtKM%9SPFpY=_;_m(t2pFfL2<(M= z?97$enLQ^-&#{q&Xv4ACw!g$;Z+{(&CArL98`vbb1-(2PX=e%C6p2_-`bC5nhIaH5 z-K6KuLRiYj)&F^GjgPJ8YIq`l7_JeTzFz+jkuQP~`E1xGc!g5Va6sGJjPRHY!;)Xo z_8MNMCU_%-P4%3QrEi{A-+Vp(<{>ebk>{He$#A2;wxI>wAGQwnz6XrRJHkeKjc*}6 zOW@x%ShDHx@#Elcq!RKnL&$?bFOUknfZehT&;j-?6SAsQ&cIf>tR=;W{^Fj@bkmVYVyC^ELumSNG$DRb${d&UeE5#;D3Zx$@kZvjoF`Cv3#B4# z)rr>z5OGtHI}rIHu`H{Cc|dH*%0v8lG^=d_CcK1gS z56$TPI_98<+%KNXnwq%^Y3vH%Zs0M%4YZ2c*|kiKI6pfxePTGdct_}~KWjqiq}Q?- zUK}H?%O0P#!H**Z-7Me>cp^E@#beo3%ysee>_?dQ#l@Bq#wb2van@}bh2elT!>EF+ z2Ev$d24ogs1kxG}UF+F&p>lFM@A&3Snm8lr4@CBeBXdUiNz*PsUIjm2X5kn~Ji59c@JJJ+)7SZyG0m=XEz5Rsn_Zh*zPf*~05PS9a5UaYhm$UqjYIc0!I;VzFz3 zvDj@eZWqetE`z(B?ZCbogY=!qg-G0qyiBnoeK$LZ{0}EcPdoJJ8Ln|}jpyVrG^%>&C+tFC;!ALAt2WX&8 zZ|aYalb)x#2n=1cWImCB!ymJD$p+`dZ^)P`S3 z%T>NrTC4KMq$gG0F6~nJ8tItIS4yW;zDzo=@+Hz$mESGl$POFikz}p!W}#UMs|{|6 zW*9?ObCOQw4#}YMX_8gtRZ^A8%cbcmw@D6_7fEiF=SvH3^16X6$#b(XV3v55Crg6L zbyB;^qbJU*Ja|GZD6CG+Asope1*DQnv8}Kz(M0Nr38&%4`HOoRra%?QAY!03D+Q5}41cN->q@-7@D897nt) z0hG_9qu1|#XfGZ2;20$AkZ;u8+5>YF4St0P807yT}b;$_z;pPht#*6$*QI_UpzeTJ#t_r3eQ zX8wQ;cVM8uXD}lM(`~YT2dINva(q9~_W$XZgnw`ne`ALa-u?SL_CtpLU+Zsmn3WuD zp0^~~K)+D3Z8fimC;zcE(OxsfUR_fw7Pb_rys@P+dGh3{NmHiUr`jvU$6HFYHI+5u zt1Yu~hSeunix#h1j1QlaYweY_wbfOVMPqBZrOLi><2)Cm$h_ait^(4%qlx0%tkAir)~;k|F^!>h}eJ^bSp V^IQoCz4YIgj(i3AOByZ7{{ZbgNbLXs diff --git a/src/game.c b/src/game.c index 91690a7..b76d31b 100644 --- a/src/game.c +++ b/src/game.c @@ -16,13 +16,8 @@ static struct { Layer *overlay; Layer *scoreboard; Layer *gameover; - GPath *pointer; } ui; static GFont font_s, font_l; -static GPathInfo arrow = { - .num_points = 3, - .points = (GPoint []) {{-7, -7}, {7, 0}, {-7, 7}} -}; typedef struct{ bool open; } object; @@ -103,12 +98,22 @@ static int total_left(void) { } static void roll_dice(int n) { - d1=(rand()%5)+1; + d1=(rand()%6)+1; d2=0; - if(n==2) d2=(rand()%5)+1; + if(n==2) d2=(rand()%6)+1; if(d1+d2<=total_left()) { game_stage=2; } + +} + +static void toggle_overlay() { + if(dice_selected == 1) { + dice_selected = 2; + } else { + dice_selected = 1; + } + layer_mark_dirty(ui.overlay); } void handle_second_tick(struct tm *tick_time, TimeUnits units_changed) { @@ -234,9 +239,9 @@ static void dice_update_callback(Layer *me, GContext* ctx) { } else if(game_stage == 2 || game_stage == 4) { int y = 10; if(game_stage == 4) y = 0; - graphics_draw_bitmap_in_rect(ctx, diceImgs[d1-1], GRect(30, y, 24, 24)); + graphics_draw_bitmap_in_rect(ctx, diceImgs[d1-1], GRect(30, y, 26, 26)); if(d2!=0) { - graphics_draw_bitmap_in_rect(ctx, diceImgs[d2-1], GRect(90, y, 24, 24)); + graphics_draw_bitmap_in_rect(ctx, diceImgs[d2-1], GRect(90, y, 26, 26)); } if(game_stage == 4) { graphics_draw_text(ctx, @@ -262,6 +267,8 @@ static void overlay_update_callback(Layer *me, GContext* ctx) { 8, GCornersAll); graphics_context_set_text_color(ctx, GColorBlack); + GFont die1 = (dice_selected==1)?font_l:font_s; + GFont die2 = (dice_selected==2)?font_l:font_s; graphics_draw_text(ctx, "How many dice?", font_s, @@ -271,20 +278,18 @@ static void overlay_update_callback(Layer *me, GContext* ctx) { NULL); graphics_draw_text(ctx, "1 Die", - font_s, - GRect(30, 25, 70, 25), + die1, + GRect(30, 22, 70, 30), GTextOverflowModeWordWrap, GTextAlignmentLeft, NULL); graphics_draw_text(ctx, "2 Dice", - font_s, - GRect(30, 50, 70, 25), + die2, + GRect(30, 48, 70, 30), GTextOverflowModeWordWrap, GTextAlignmentLeft, NULL); - graphics_context_set_fill_color(ctx, GColorBlack); - gpath_draw_filled(ctx, ui.pointer); } static void click_up(ClickRecognizerRef recognizer, void *context) { @@ -300,14 +305,7 @@ static void click_up(ClickRecognizerRef recognizer, void *context) { } selected = newtab; } else if(game_stage == 3) { - if(dice_selected == 1) { - dice_selected = 2; - gpath_move_to(ui.pointer, GPoint(15, 65)); - } else { - dice_selected = 1; - gpath_move_to(ui.pointer, GPoint(15, 42)); - layer_mark_dirty(ui.dice); - } + toggle_overlay(); } else if(game_stage == 4) { new_game(); //layer_mark_dirty(&dice); @@ -327,14 +325,7 @@ static void click_down(ClickRecognizerRef recognizer, void *context) { } selected = newtab; } else if(game_stage == 3) { - if(dice_selected == 1) { - dice_selected = 2; - gpath_move_to(ui.pointer, GPoint(15, 65)); - } else { - dice_selected = 1; - gpath_move_to(ui.pointer, GPoint(15, 42)); - } - layer_mark_dirty(ui.dice); + toggle_overlay(); } else if(game_stage == 4) { new_game(); layer_mark_dirty(ui.dice); @@ -347,8 +338,7 @@ static void click_select(ClickRecognizerRef recognizer, void *context) { layer_set_hidden(ui.overlay,false); game_stage = 3; dice_selected = 1; - gpath_move_to(ui.pointer, GPoint(15, 42)); - layer_mark_dirty(ui.dice); + layer_mark_dirty(ui.overlay); } else { roll_dice(2); if(!move_possible()) { @@ -365,6 +355,8 @@ static void click_select(ClickRecognizerRef recognizer, void *context) { tabs_closed++; if(check_move_is_done()) { if(tabs_closed==9) { + game_stage=1; + new_game(); gameover_init(true); } counter = 0; @@ -405,7 +397,6 @@ static void window_load(Window *window) { diceImgs[3] = gbitmap_create_with_resource(RESOURCE_ID_DICE_4); diceImgs[4] = gbitmap_create_with_resource(RESOURCE_ID_DICE_5); diceImgs[5] = gbitmap_create_with_resource(RESOURCE_ID_DICE_6); - ui.pointer = gpath_create(&arrow); ui.box = layer_create((GRect){ .origin = { 0, 0 }, diff --git a/src/menu.c b/src/menu.c index a953ab0..dbb59f3 100644 --- a/src/menu.c +++ b/src/menu.c @@ -69,6 +69,7 @@ static void toggle_menu(void) { } static void select_click_handler(ClickRecognizerRef recognizer, void *context) { if(combo[counter] == 1) { + counter=0; gameover_init(false); return; } diff --git a/src/overlay.c b/src/overlay.c deleted file mode 100644 index 738a5a9..0000000 --- a/src/overlay.c +++ /dev/null @@ -1,48 +0,0 @@ -#include -static Layer *layer; -static GRect bounds; -static void update_callback(Layer *me, GContext* ctx) { - graphics_context_set_fill_color(ctx, GColorBlack); - graphics_fill_rect(ctx, - GRect(0,0,bounds.size.w,bounds.size.h), - 8, - GCornersAll); - graphics_context_set_fill_color(ctx, GColorWhite); - graphics_fill_rect(ctx, - GRect(3,3,bounds.size.w-6,bounds.size.h-6), - 8, - GCornersAll); -} - -void overlay_init(Layer *window_layer, GRect b) { - bounds = b; - layer = layer_create(b); - layer_set_update_proc(layer, update_callback); - layer_set_hidden(layer, true); - layer_add_child(window_layer, layer); -} - -void overlay_deinit(void) { - layer_destroy(layer); -} -void overlay_show(void) { - layer_set_hidden(layer, false); -} -void overlay_hide(void) { - layer_set_hidden(layer, true); -} -bool overlay_is_visible(void) { - return !layer_get_hidden(layer); -} -void overlay_click_up(void) { - -} -void overlay_click_down(void) { - -} -void overlay_click_select(void) { - -} -void do_callback(void (*thecallback)(void)) { - thecallback(); -} \ No newline at end of file diff --git a/src/overlay.h b/src/overlay.h deleted file mode 100644 index c0d21d0..0000000 --- a/src/overlay.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once -#include - -void overlay_init(Layer *window_layer, GRect b); -void overlay_deinit(void); -void overlay_show(void); -void overlay_hide(void); -bool overlay_is_visible(void); -void overlay_click_up(void); -void overlay_click_down(void); -void overlay_click_select(void); -void do_callback(void (*thecallback)(void)); \ No newline at end of file diff --git a/src/rules.c b/src/rules.c index c49d455..f32da34 100644 --- a/src/rules.c +++ b/src/rules.c @@ -19,7 +19,7 @@ static void window_load(Window *window) { scroll_layer_add_child(ui.layer,text_layer_get_layer(ui.textTitle)); ui.textRules = text_layer_create(GRect(0,35,144,365)); - text_layer_set_text(ui.textRules,"The objective of the game is to close all 9 tiles and shut the box.\n\nRoll two dice and close any combination of tiles that equal the sum of the rolled dice.\n\nYou must use the sum of the dice each turn, if you cannot the game is over. Once the sum total of all the open tiles equals 6 or less, you have the choice of using one die instead of two.\n\n\nWritten by Daniel Head.\nme@danielhead.com"); + text_layer_set_text(ui.textRules,"The objective of the game is to close all 9 tiles and shut the box.\n\nRoll two dice and close any combination of tiles that equal the sum of the rolled dice.\n\nYou must use the sum of the dice each turn, if you cannot the game is over. Once the sum total of all the open tiles equals 6 or less, you have the choice of using one die instead of two.\n\n\nWritten by Daniel Head.\nme@danielhead.com\n\n\nV1.0.1"); text_layer_set_overflow_mode(ui.textRules,GTextOverflowModeWordWrap); text_layer_set_size(ui.textRules,GSize(144,365)); scroll_layer_add_child(ui.layer,text_layer_get_layer(ui.textRules));