From 70870939d9be818c55dee8aa2f265f91412fd3d3 Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Wed, 9 Sep 2015 19:03:36 +0200 Subject: [PATCH] Basic GameLib and ball image resources --- code/CandyFucker.js | 74 +++++++++++++++++ code/GameLib.js | 189 ++++++++++++++++++++++++++++++++++++++++++++ gfx/Balls.xcf | Bin 0 -> 6899 bytes gfx/Blue.png | Bin 0 -> 1431 bytes gfx/Cyan.png | Bin 0 -> 1602 bytes gfx/Green.png | Bin 0 -> 1459 bytes gfx/Red.png | Bin 0 -> 1463 bytes gfx/Yellow.png | Bin 0 -> 1624 bytes index.html | 38 +++++++++ 9 files changed, 301 insertions(+) create mode 100644 code/CandyFucker.js create mode 100644 code/GameLib.js create mode 100644 gfx/Balls.xcf create mode 100644 gfx/Blue.png create mode 100644 gfx/Cyan.png create mode 100644 gfx/Green.png create mode 100644 gfx/Red.png create mode 100644 gfx/Yellow.png create mode 100644 index.html diff --git a/code/CandyFucker.js b/code/CandyFucker.js new file mode 100644 index 0000000..0d5e86a --- /dev/null +++ b/code/CandyFucker.js @@ -0,0 +1,74 @@ + +window.Images = new ImageLoader(); + +///////////////////////////////////////// +// +// CandyEntity +// +var CandyEntity = function(game, position, type){ + this.Game = game; + this.GameEntity = new GameEntity( + game.GameScreen, + position, + {X: 32, Y: 32}, + Images.GetImage(type), + type + ); +}; +CandyEntity.prototype = { + Update: function(){ }, + Debug: false +}; + + +///////////////////////////////////////// +// +// CandyFucker +// +var CandyFucker = function(idScreen){ + var self = this; + this.GameScreen = new GameScreen(idScreen, + this.Init.bind(this), + this.Proc.bind(this), + this.End.bind(this) + ); + this.Grid = null; + this.GridOffset = {} + + window.Images.LoadImages( + [ + {Name: "Red", Url: "gfx/Red.png"}, + {Name: "Blue", Url: "gfx/Blue.png"}, + {Name: "Cyan", Url: "gfx/Cyan.png"}, + {Name: "Green", Url: "gfx/Green.png"}, + {Name: "Yellow", Url: "gfx/Yellow.png"}, + ], + function(){ + self.GameScreen.Start(); + } + ); + +}; +CandyFucker.prototype = { + Init: function(gameScreen){ + var test; + test = new CandyEntity(this, {X: 100, Y: 100}, "Red"); + this.GameScreen.AddEntity(test); + test = new CandyEntity(this, {X: 132, Y: 100}, "Blue"); + this.GameScreen.AddEntity(test); + test = new CandyEntity(this, {X: 164, Y: 100}, "Cyan"); + this.GameScreen.AddEntity(test); + test = new CandyEntity(this, {X: 196, Y: 100}, "Green"); + this.GameScreen.AddEntity(test); + test = new CandyEntity(this, {X: 228, Y: 100}, "Yellow"); + this.GameScreen.AddEntity(test); + }, + Proc: function(gameScreen){ + + }, + End: function(gameScreen){ + + }, + Debug: false +}; + diff --git a/code/GameLib.js b/code/GameLib.js new file mode 100644 index 0000000..036babe --- /dev/null +++ b/code/GameLib.js @@ -0,0 +1,189 @@ + +///////////////////////////////////////// +// +// GameScreen +// +var GameScreen = function(idScreen, funcInit, funcProc, funcEnd){ + this.Screen = document.getElementById(idScreen); + this.Ctx = this.Screen.getContext('2d'); + this.Size = {X: this.Screen.width, Y: this.Screen.height}; + this.Entities = []; + this.NewEntities = []; + this.Running = false; + this.FuncInit = funcInit; + this.FuncProc = funcProc; + this.FuncEnd = funcEnd; + + var self = this; + this.Tick = function(){ + if(self.FuncProc){ + self.FuncProc(self); + } + self.CleanDead(); + self.InsertAdded(); + self.Update(); + self.Draw(); + if(self.Running){ + window.requestAnimationFrame(self.Tick); + }else{ + if(self.FuncEnd){ + self.FuncEnd(self); + } + } + } +}; +GameScreen.prototype = { + // For internal use + CleanDead: function(){ + var i = this.Entities.length-1; + while(i>0){ + if(this.Entities[i].GameEntity.Deleted){ + this.Entities.splice(i,1); + } + i--; + } + }, + InsertAdded: function(){ + for(var i=0,n=this.NewEntities.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 g{=qvZ|EKFVdQ&MBb@03PvcF8}}l literal 0 HcmV?d00001 diff --git a/gfx/Cyan.png b/gfx/Cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..a23143eb6b2693dbcd805c9df502ce86c0fba47a GIT binary patch literal 1602 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0WWg+Z8+Vb&Z81_lQ95>H=O_WPWiT-M5Go*CIPFfhnwhD4M&=jZ08=9Msj zfOAo5Vo7R>LV0FMhJw4NZ$OG(Dmw!M>oQLl$B>A_SEonk1eeMjw|{+6?RFC?aI zm^!o7`_>uE=HlcAWffoE45Pl|r=-9OwI(%#c`gOnmYBV-wzZF6M7J;yq=C zh5);Yf_Qnp|Mjh}GppCx{i!OO(UI75Q zF#E2T)!w$0P0aV%&l|72dM;S&?}@9c?|(Qde*dm*!@6~0a@B82ckPZ}y197grX<#b zn^Fb38`n7tG`x0N%-F{~jrH)g7%czxo9Wtm%6XxS}bXRHzk_)@#d(c$oS$@17aQM_sC3qzV#YFd=P({S(GQ~aBu zov-$sGymJv(_&v@`toAcSH8|+Fk_T%=spnofGZ$--Op#=50t9PY?YdFnyK*LpXxWa zzdyUbbj$1`-{1dlkhSL9kSl#_Rp^?&<2To=`ojF3+3Qh=!EEyGs$8YSII4!2{>q(X9#;pgo zA6S2&^gv!7zgW<|U3|H@L5hF>&cAqld*8!EX@|MDuiUSna_`>LD!t=bhZAHsaQ$HY zu`aW4v8Ig9mfJt}#R$!+zPbJV&JXK37A$}6n))^>$b0&xu*(%oUfzmtV0xgt?C#Hf z5%D^wrh4tQl~1_7PW{AFtEuPwj5bQdI>^jmILCZ0>G#_A-jRMj2exJ#m~ESM@ZfRf zhI{v7Pi;z-Xmgys>JsOldp^5vB^_;M$cdJ^{9*+|%znPkBl9#kt*y3AJh|ZL<0YX} zwa>o!C;UO2JK^>v$FMvu?sljmq+2oH?l z>S4Y%w`=#hEf2Cn&owzY-pQMFY1-@3ogz=$+@4gbt(vuU_9I$07K4XLpUE}pPjcUp2m>B5uGe_zxISn09n_;Kaw;@wOSb_qHt846Eb zm^p7*P@^03>F=6)OK$(%cZTVz)|oRNYn&TaYBJ84C$_^)nd!pUZovbs-0IIea({n2 zdblE7OKINu?iWv%v@D3}i-})-@~Oq7CEIL8=C)1Ok6*U_y=ahTb042U&rX$};nTxc zUwY{Du_i9b&RRR*VSYu>PREg@d#3PVLFC@iq7 zaZ?qGlH0W-X4?H}qN>q*^}ctx3i8`d@SDG1%=;cLJRNI3tDz?T-E^->!Vl%nH<$d9QC8MJKRYzfYlEO6^jLh&Me4@R*>q|a6dHR>^V0%j-$MfxfU;;oma1OfA@EbnP;+#8TynJFPePx zskm{YEF@~0=+wBSN(S@TJC7J7C%^vh>9$+-z)a)#$v%AxR`mz0Raa_h)C+%pkU+`v`$g&N$SsUBe{qIY) z^;~OK^gYh+`WnlQM4Q${UmjY_weZ^`$s~S#D@Rjd&To;Uj~xH$&)?5*Ayt2q!86ZL PP*Lvb>gTe~DWM4fjEwEe literal 0 HcmV?d00001 diff --git a/gfx/Green.png b/gfx/Green.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b0ebaf9c55c5a6cecd50d30ec58a75a4fbc481 GIT binary patch literal 1459 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0WWg+Z8+Vb&Z81_lQ95>H=O_WPWiT-Hnt{YuFU3=FcFArU3c`MJ5Nc_j=W z;9QiNSdyBeP@Y+mq2TW68<3)x%Fe*RD(>mx7!q;#>h;);m~zSEAJ5;MIk$G^8?~F$ z_gqN1ZIV-#DJ|%%ooXt&TPRC2$m=$DV5aL*Ev}@GO5#;dTSG(yKRRvfFjw+$4bTai zBBFn*MQxgj?vh@$-8avsrEk*zyvexuS&#Vd`FA(Zn)POx!oPO=^t5x9|DXT1Isg9u zoaZ0xYFkY-FSIJ3hqwXzW0HueW_#aYX<+yONsVH(`~;^zB%!t{e}Fc*{;f$1zZJn zXPteft=qMrT??jK1c3B_P*zg=dC@`{N0{^^JD+S{w4L-6RRSj&Kzy+ z+o!bDT%U$T>aLvGnQpR**DK&lEl*$El;a+z7;G?qZut4DCl|6;<{X~T?)&1ab^X3dmU&;DC+~Y# zXY||Ht$6Xf;`z>elBQWlyUO=GE?qy{boDwtF>TGr4GWfT-51tW)p5jh&NtrqpPRq4 zRUApTc{bh7>HJ;WW7WrfXPKmU1YgcvKDX#p6RWB!Z|~OV=!eCJ1(OAhf9&nIe7F8> z@Xf8=-(G!n)VJ`-Q+a;xUbSrDkr{^i)iX7INw)=`@Y>@{VPtHb2IZ?zKUb%x0hdIeD|p} zLuXU&bF<``hVHUkb8dR7pPhaE%AKm6-c8?+8f^c0&aJ_7zDbgWR3A?X-;MP7da-F| zt=|7>i^-Q<&=UDaIQ-5-!TAyF78yoTT~9t&*2>nl@mjxL6TWxVs;cT^(TVCJ2C@u# z3vXY3tt3;jpV25*@~`Y)y7oFDgR@u%Tusuq0eQT_N?7q(zOB>$0J?*qowzevp zVU&7qPDD-hJoA8KHtQaFt>|IhP%o>H?l4WoYs#WYs@{4#Hk3A`o%-?h!N(kiopMS} z-`ip@WNkeXn6rHDsZ&~7(Z+J@NA;KR__ME{zCkEWcQ5xWE~^!*XB#T3tKUjly+Bk< zmsS6{foRWp*2hyBW~^D*CK9q|X_~)sp2g!HIosL7@snP$PIKOu9;B$x)?mSUA-B+$ ziFJKs+}8z@LPSLK_uf)H__=7s_syCOI~fXW4_pmmh|FKlyyxju(?`G5Ue)wueW)^g zQlrP9!?OPN!u4%8Ih58`XFk6CA$nca1wHJSWN2@+cZ%^_6F_XRao@`k4?jnO5 zJZ_hAe-vrmd3$xzhyP9j$%+TAP5izrQ+`Kf_#fB(MF*Cr1~GiS!fYd5cReUEe|frU zMT}4Geyd%vCU4(GzwYw?xwe+gw6-F5;ZlZ8lZ@`^t-cx(^{iQ9PT#G-;_C@-8?cI6PUfd2?{79g; zY?fBGX67lY)sF&0gWumj{ZjG#$=_2>*h;mTmaJT?D7HFdX5e>m*YiK?CI2(U=jzXu T(>6K|Dmy)0{an^LB{Ts5g$%3c literal 0 HcmV?d00001 diff --git a/gfx/Red.png b/gfx/Red.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2fb6ef66d812dbe088122e0a0c8a9f3d8f01ab GIT binary patch literal 1463 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0WWg+Z8+Vb&Z81_lQ95>H=O_WPWiTvkT=eUd-NTk@93HHCFE#s8g*uRDFRoHxO~mjClx=9=0mcYiNB;jw%% zyJg7*Ct2T+jYrPBw)x6qzkkA~@{&6?~j%j(a|-BfmW z;kP}qxZlW1>(q1CrIUR0)OYXD*uFvGe#VK#{H!_0Ir#lA{%8MJ70kNtK>zZe&;D9W zID4wUzxaNwjNO?Z7TMW*KC@4Cq06>~Uq-&f1JFMSOC zA7=J{e$D^j-9Ed&lPCN58yh+8KKt_W9IL4kTGKPl*5AMLGRI(EobH+gvHB;@>OZQ# z$E^FEEdTfY)0N5+r=NelU#;)nZ)A9I^Z8Gwv}1NnskmcW(XHLy7@!#Z=arn=dDTZJ zO7v$vI-*$C|Fnqf@navqqUUq>{4rAZ|MYD3mDm5TUM`O+ykYd>;e+QtbH3lPIuKiv zsnqr6*1p)Xq^9KK8dHTDT3c0EqGJj_?338`wkDtXfQh_pa*0XT7arb?_4a%BdQO^a zzu)j$G>b+u-~U6=cRq5+N3vTS`Qjm>DZ*vM%-qvg^iAiyz5m*>=wsFkg~SR~8Db8Z z$;JC0N_;2ply9bOY;odf_nI{YKaC1&q8WInI7yyk>&QO2l7AiZn}j_L^E4*i+&Ous zNvKYK+2W4Q3kv+Sk?39<_31NZ`Ex=*Esh3_m#Jk9WS%EzS-KE^Oaa&@T$ zdW1SIzbv>l>dh_JrA}LSsXksi;p1t|!{JTWS4VJ1+s3lyiW#f;rj<>rnWu4U%agAY z-g-N}nwd~zC$XOGzz?fzp(d^MS8v|VGP5jh+qchGHGa-4RxibSn>9~%GcK6QbYoh{ zbC*WfI2~60M_E&oK2F;mEAwu3OP&36rWyPU-i+(!F`fAM%j!V3&2`nhoJHri2XM!& zZ<%qPz2WJD((qqVH)bh%O51FHnEOL^o!yCd>>Hk|Ee@LFwQb#-qZ2ajrf4ra(52}b zHd%2=>C}0=p#^=*_1l-MWI5%hb&zRml-5PDpu1~tC!AWD6779(?Gh1<4|nR%Fdycz zId)XD?f&#V^HQ6(zYTdaOS7X@;j7oGEmn*Px)rwKQUQi{#4l!TSU=}ZU9DWik}v%G zcDK(LYubKuL;mt_Z$B)Us!(nz(cNr*S1rV6Wr&~Z1HQUQo@4nIlWHf$+nf-8?_ssX z%iso|+oj|RP1W-6iG>#XWF{3F9xxMn8Nc^Xb)J=I{mlC^PcGjSaZtXxv*=;Ht!lNo zP4>aZNvr-ydESlRbLj4N6VdsPzWX|b(>(9;ZRaOU;pPsIMF6*2UngF)6x5@wj literal 0 HcmV?d00001 diff --git a/gfx/Yellow.png b/gfx/Yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ab3fec095a451f2ec94b5a972608cbd97ff142 GIT binary patch literal 1624 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0WWg+Z8+Vb&Z81_lQ95>H=O_WPWiT-G8b(bJ6>7#L(TLn2C?^K)}k^GX;% zz_}av+28RM*|Zk26m#QgL;Pkor6Md zch>|LrV`mh0yg|nx&^TtbRr@WKD~*&CnNv7x%hd;+F1vf`3wG^o4aRorSZ>$juD&P zl&7Db9J$ZWKDaIRRq2Y5ggQCDxsRqEZm+Dp z$uh6HuRnihD|7WXhlL9kzixg}CAEX^#?`poB^eEFPPOD6i{Ifj-qD<9}}VEVyn!8eEL8H4Z&#!>~B zP{oN2DMGt;r@nog`efPc6@C4m@7@=ZkbeBo`rU)xz10f?UZ_pI#n{6bed|CxvwP$F zhWOip`r8i9cGwXT=gMU|wP~H+i4+N0i3dM6Cdc%AdvQ@-+HAtTy|c~B-?ca`>@KNd zFRN-pj9kro?|UbEhw52r2&yyj+=J$!>H zhuw_Po*{m#a^BX)!=f{N1x{S`JG+&g|C7g;*!Ba@&f09uoqg!mR!Ngw>4NC!Tk;J; z57ys$+vKoFfBMr?DHXY#jemddTpqAs|NeNzi64u;TxZM_6gsNJu)U1q%ePHO4HPB@1Y9*epklyZ z5iYv(wbNq8r9x-U9{jRp#-vOpgByw$uDbeNcMN0_S;`mESiD;8!EeJKhnie$thHUl z#9RawwjN~qeK$T$3)XYpd8VUAJ~;Gb_sKI1 zvD&htR!7Bt)|Uv(T(;)wsx6D2dxmGsI_tU)ROzMsAL`CBTj%;>VtM+r= z%uZGP>8%aVkFo@5idpAo%$l>}YRU=@CTaJ%Tc(mw=m6CzIK8u)GOU!Cf z;R~hb$~fj&9^Tlo@v+YR=ZkBuXEDX;aJ{%QXUT%7-lf}fcgBQwT`81!Kd0^a`Qo~Y z8R^E7J^SnodUkmH^ZexIEThMyFQ)qZ>#hl#-v0O<|OYzrViz zImOENmO)BKL2PA5s^^wzuIX30)|j5ET&k2HXn9=lL6GOApp_>!hls9^dYX28qTO|U z<$&Km)8qC&le%ZhQ`xZWzTB-=p7Z{I#8?(})- z&&+wi{QieHyYusW+K$iiotY%X%lM_1ac2!rzsmPL6--=AJL6Y+__|cr$Zv}D^Y#1m zWm4kPQ%u%XQ;z@s<*`$bKQqebKqkM_DlOr@#~htu+Uq82q<*bhc=(^PY zr|f(m{Pd1<3o>4xIwfP4hOn$zpYZl+sYlm_ujZ7z-yYJ{`7*QYk7(bwau&aNPd=B- z@(g{t&8>M#?(uy4i&Cz)Gdzwg+qvaYGlTua2bXU~zKi*~I#SQQ?04BcucZ|R94|Nz zFLirjQ8-I!JGXO9>~rzckK%5peTuKPyt`{^I#2U&k=DfPOYfI@ZVP@;DHkST^w>g1 ge|lxx|I^R;&n?v7ByAea1S;S?UHx3vIVCg!0OkJNegFUf literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..28a85ad --- /dev/null +++ b/index.html @@ -0,0 +1,38 @@ + + + + + + Candy Fucker + + + + + + + + +