diff --git a/images/Squirrel.png b/images/Squirrel.png new file mode 100644 index 0000000..ee06cb8 Binary files /dev/null and b/images/Squirrel.png differ diff --git a/js/game.js b/js/game.js index 0b0117e..7ef2936 100644 --- a/js/game.js +++ b/js/game.js @@ -29,12 +29,28 @@ monsterImage.onload = function () { }; monsterImage.src = "images/monster.png"; +// Squirrel image +var squirrelReady = false; +var squirrelImage = new Image(); +squirrelImage.onload = function () { + squirrelReady = true; +}; +squirrelImage.src = "images/squirrel.png"; + // Game objects var hero = { speed: 256 // movement in pixels per second }; -var monster = {}; +var squirrel = {}; + var monstersCaught = 0; +var monstersNum = 1; +var monster = [ + {'monsterName': 'monster1', + 'x' : 50, + 'y': 100 + } +]; // Handle keyboard controls var keysDown = {}; @@ -52,9 +68,46 @@ var reset = function () { hero.x = canvas.width / 2; hero.y = canvas.height / 2; - // Throw the monster somewhere on the screen randomly - monster.x = 32 + (Math.random() * (canvas.width - 64)); - monster.y = 32 + (Math.random() * (canvas.height - 64)); + for (var i = 1; i <= monstersNum; i++) { + console.log ("monster number = " + monstersNum) + // Push monster x, y to array + console.log ("i= " + i) + monster.push([ + monster.x = 32 + (Math.random() * (canvas.width - 64)), + monster.y = 32 + (Math.random() * (canvas.height - 64)) + ]); + console.log("print array: " + monster) + console.log("print specific monster x coords:" + monster[i][1]) + } + +}; + + +// Draw everything +var render = function () { + if (bgReady) { + ctx.drawImage(bgImage, 0, 0); + } + if (heroReady) { + ctx.drawImage(heroImage, hero.x, hero.y); + } + for (var i = 0, len = monster.length; i < len; i++) { + if (monsterReady) { + ctx.drawImage(monsterImage, monster[i][0], monster[i][1]); + } + } + + if (squirrelReady) { + ctx.drawImage(squirrelImage, squirrel.x, squirrel.y); + } + +// Score + ctx.fillStyle = "rgb(250, 250, 250)"; + ctx.font = "24px Helvetica"; + ctx.textAlign = "left"; + ctx.textBaseline = "top"; + ctx.fillText("Goblins caught: " + monstersCaught, 32, 32) + ctx.fillText("Goblins total: " + monstersNum, 32, 62); }; // Update game objects @@ -72,39 +125,22 @@ var update = function (modifier) { hero.x += hero.speed * modifier; } - // Are they touching? +// Are they touching? + for (var i = 0, len = monster.length; i < len; i++) { if ( - hero.x <= (monster.x + 32) - && monster.x <= (hero.x + 32) - && hero.y <= (monster.y + 32) - && monster.y <= (hero.y + 32) + hero.x <= (monster[i][0] + 32) + && monster[i][0] <= (hero.x + 32) + && hero.y <= (monster[i][1] + 32) + && monster[i][1] <= (hero.y + 32) ) { ++monstersCaught; + ++monstersNum + monster = [50,50] reset(); } + } }; -// Draw everything -var render = function () { - if (bgReady) { - ctx.drawImage(bgImage, 0, 0); - } - - if (heroReady) { - ctx.drawImage(heroImage, hero.x, hero.y); - } - - if (monsterReady) { - ctx.drawImage(monsterImage, monster.x, monster.y); - } - - // Score - ctx.fillStyle = "rgb(250, 250, 250)"; - ctx.font = "24px Helvetica"; - ctx.textAlign = "left"; - ctx.textBaseline = "top"; - ctx.fillText("Goblins caught: " + monstersCaught, 32, 32); -}; // The main game loop var main = function () {