all repos — katbugjs @ c07d60efd5ffebb7bfc72502d8a5132e8a3391b3

side-scrolling infinite arcade game in Javascript with HTML5 Canvas

Catbug, Engine, Pickup: use null instead of empty object, cleaner initialization for non-function properties
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmAgFOQACgkQO3+8IhRO
Y5hp3A//RkouJWd+FjS7bGr7E2fqVCSBa/v13zOMijoPhMrpZOi6oaTW5CSK4Kl2
WeOfD4dG/6CLFRZ4lLBWsxB9pKdaqVEvUqwi7FQUHqdayE2yPASNRJf3hh6cc7sS
kJkyJkwwuWiIRk/yE5CZDUDJC+Hrioe3sIfowwRBk7xWpp1wbLSQ6wJJVjVM9i0N
MTQdItnyAOQ4NMIydKc0KDBfRCvTejTsvgr81I+aQY5uPq432v3clGWL/pMia++b
QMOOV495dBeHqRKmnrov5t+tFnOaREcApz55pPl/AFkbv5QA1P9ev7DTJPVG5GvQ
ABfQxUiyUSdrVlt/7JPNpgt7VA7vKNNfs4dM9y4h4JGgrNfchMhcM7qQ1it1mNnJ
YoiXnEofArIos21KW/Q0JPG7D5JZsHn1vIe9YW3LJYxAIBwANrW5t2pKW/+w+Wid
oaq55Qz6Gvmtri2E6GPdttbWY1jfaTtetx8M6IIqnEcgEsHHLtuiiMM4RlfgWi/T
o9ec5PkmHjQ5XZoZQu6oM8RTeggLAU5oAO9HSaozH8599mD0EWLaddhzd3r4L31e
5KQajSZ4foeTkuZ7p1WeJp0WKRL0n+gkfeuAvm0sVrIaL7UaCdQITpQ23cmzzqcm
N7uZUwCoA8Y4vVsVUV2eVG40lja7+b96jCwtllhAPqDW5IXSxsA=
=CXuh
-----END PGP SIGNATURE-----
commit

c07d60efd5ffebb7bfc72502d8a5132e8a3391b3

parent

7eff511ff184230419a6fd94c8aafdc8716d5df3

3 files changed, 24 insertions(+), 34 deletions(-)

jump to
M Catbug.jsCatbug.js

@@ -1,11 +1,13 @@

-var catbug = {}; -catbug.x = 45; -catbug.y = 90; -catbug.vX = 0; -catbug.vY = 0; -catbug.frame = 0; -catbug.HP = 3; -catbug.maxHP = 3; +var catbug = { + x: 45, + y: 90, + vX: 0, + vY: 0, + frame: 0, + HP: 3, + maxHP: 3 +}; + catbug.move = function() { this.x += this.vX;
M Engine.jsEngine.js

@@ -100,7 +100,7 @@ {

var i; for (i = 0; i < 10; i++) { - if (!isEmptyObject(stuff[i])){ + if (stuff[i] != null){ screen.drawImage(stuff[i].sprite, stuff[i].x, stuff[i].y);} } }

@@ -136,20 +136,6 @@ controller.left = false;

controller.space = false; controller.q = false; -function isEmptyObject(obj) -{ - var name; - for (name in obj) - { - if (obj.hasOwnProperty(name)) - { - return false; - } - } - return true; -} - - function scoreSummary() { gameState.frame = thisFrame;

@@ -191,7 +177,7 @@ catbug.vX = 0;

catbug.vY = 0; gameState.points = 0; gameState.threshold = 10; - stuff = [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}]; + stuff = new Array(10); } function loop()

@@ -346,4 +332,4 @@ break;

default: break; } -}+}
M Pickup.jsPickup.js

@@ -43,25 +43,27 @@ }

else genSpeed = Math.floor(Math.random()*10); for (i = 0; i < 10; i++) { - if (!isEmptyObject(stuff[i])) + if (stuff[i] != null) { movePickup(stuff[i]); if (stuff[i].x < -32) { - stuff[i] = {}; + stuff[i] = null; catbug.HP--; } else { - var box = {}; - box.x = stuff[i].x; - box.y = stuff[i].y; - box.w = 36; - box.h = 36; + box = { + x: stuff[i].x, + y: stuff[i].y, + w: 36, + h: 36 + } + if (catbug.isInRect(box)) { getPickup(stuff[i]); - stuff[i] = {}; + stuff[i] = null; } } }

@@ -96,4 +98,4 @@ catbug.maxHP++;

catbug.HP = catbug.maxHP; } -}+}