// cache our canvas and context to draw var canvas = { width: 700, height: 500 } var ctx; var score = 0; if(localStorage.getItem("highscore")){ var highscore = localStorage.getItem("highscore"); } else{ highscore = 0; } var randomizer = 0; var randomitem = 4; // cache inputs var keys = []; window.onkeydown = function (e) { keys[e.key] = true; }; window.onkeyup = function (e) { keys[e.key] = false; }; var playerimage = new Image(); playerimage.src = "player.png"; var houseimage = new Image(); houseimage.src = "houseobstacle.png"; var treeimg = new Image(); treeimg.src = "tee.png"; var missileimg = new Image(); missileimg.src = "missile.png"; var Documentimg = new Image(); Documentimg.src = "paper.png"; var secret = new Image(); secret.src = "rpg.png"; var blueprints = new Image(); blueprints.src = "blue.png"; var player = new Player(30, 30); var miss = new Missile(500, 500); var good = new theGoodStuff(0, 0); var Badguys = []; for (var i = 0; i < 5; ++i){ Badguys.push(new Badguy(i, 0, .7)) } var trees = []; for (var i = 0; i < 3; ++i){ trees.push(new treebad(i, 0, .7)) } randomizer = 0; function drawscore(){ ctx.fillStyle = "black"; ctx.font = "20px Arial" ctx.fillText("Score: " + score, 10, 20); } function drawhigh(){ ctx.fillStyle = "black"; ctx.font = "20px Arial" ctx.fillText("High-Score: " + highscore, 120, 20); } // initialize our variables and start our game loop function startGame(){ canvas = document.getElementById("gc"); ctx = canvas.getContext("2d"); var fps = 30 / 1000; window.setInterval(update, fps); } // game loop function update() { ctx.clearRect(00, 00, canvas.width, canvas.height); player.draw(); if (randomizer == 9){ good.draw(); if (checkCollisions(player, good)){ score += 30; randomizer = 0; } } Badguys.forEach(function(Badguy) { Badguy.draw(); }); trees.forEach(function(treebad) { treebad.draw(); }); if(localStorage.getItem("highscore")){ highscore = localStorage.getItem("highscore"); } else{ highscore = 0; } handleLogic(); drawscore(); drawhigh(); if(score > highscore){ highscore = score; localStorage.setItem("highscore", highscore) } } // handle inputs, handle player, handle enemies, etc function handleLogic(){ player.handleInput(); player.borders(); miss.move(); Badguys.forEach(function(Badguy) { Badguy.move(); if (checkCollisions(player, Badguy)){ player.x = player.y = 200; score = 0; } }); trees.forEach(function(treebad) { treebad.move(); if (checkCollisions(player, treebad)){ player.x = player.y = 200; score = 0; } }); Badguys.forEach(function(Badguy) { if (checkCollisions(miss, Badguy)){ good.x = Badguy.x; good.y = Badguy.y; score ++; if (randomizer < 9){ randomizer = Math.floor(Math.random() *3); Badguy.x = Badguy.y = 500; } } if (randomizer == 2){ good.draw(); randomizer = 9; } }); trees.forEach(function(treebad) { if (checkCollisions(miss, treebad)){ treebad.x = treebad.y = 500; score ++; } }); } function checkCollisions(rect1, rect2) { if (rect1.x < rect2.x + rect2.width && rect1.x + rect1.width > rect2.x && rect1.y < rect2.y + rect2.height && rect1.height + rect1.y > rect2.y) { return true; } else{ return false } }