Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

In the following html/javascript code, please fill in the blanks ( __________ )

ID: 3721573 • Letter: I

Question

In the following html/javascript code, please fill in the blanks ( __________ ) so that the code works. Thank you!

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>

canvas {

border:1px solid #d3d3d3;

background-color: #f1f1f1;

}

</style>

</head>

<body>

<script>

var myGamePiece;

var myObstacles = [];

var myScore;

function startGame() {

myGamePiece = new component(30, 30, "red", 10, 120);

myScore = new component("30px", "Consolas", "black", 280, 40, "text");

myGameArea.start();

}

var myGameArea = {

canvas : document.createElement("canvas"),

start : function() {

this.canvas.width = 480;

this.canvas.height = 270;

this.context = this.canvas.getContext("2d");

document.body.insertBefore(this.canvas, document.body.childNodes[0]);

this.frameNo = 0;

this.interval = setInterval(updateGameArea, 20);

},

clear : function() {

this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);

},

stop : function() {

clearInterval(this.interval);

}

}

function component(______, height, color, x, y, type) {

this.type = type;

this.width = _________;

this.height = ______;

this.speedX = ___;

this.speedY = 0;

this.x = _____;

this.y = y;

this.update = function() {

ctx = myGameArea.context;

if (this.type == "text") {

ctx.font = __________________ + " " + this.height;

ctx.fillStyle = color;

ctx.fillText(this.text, this.x, this.y);

} else {

ctx.fillStyle = color;

ctx.fillRect(__________________, this.y, this.width, __________________);

}

}

this.newPos = function() {

this.x += ______________________;

__________________ ___ this.speedY;

}

this.crashWith = function(otherobj) {

var myleft = this.x;

var myright = this.x + (this.width);

var mytop = this.y;

var mybottom = this.y + (this.height);

var otherleft = otherobj.x;

var otherright = _____________________________ + (otherobj.width);

var othertop = otherobj.y;

var otherbottom = otherobj.y + (otherobj.height);

var crash = true;

if ((mybottom < othertop) ________ (mytop > otherbottom) ___________ (myright < otherleft) || (myleft > otherright)) {

crash = false;

}

return _________________;

}

}

function updateGameArea() {

var x, height, gap, minHeight, maxHeight, minGap, maxGap;

for (i = 0; i < myObstacles.length; i += 1) {

if (myGamePiece.crashWith(myObstacles[i])) {

myGameArea.stop();

return;

}

}

myGameArea.clear();

myGameArea.frameNo += 1;

if (myGameArea.frameNo == 1 || everyinterval(150)) {

x = myGameArea.canvas.width;

minHeight = 20;

maxHeight = 200;

height = Math.floor(Math.random()*(maxHeight-minHeight+1)+minHeight);

minGap = 50;

maxGap = 200;

gap = Math.floor(Math.random()*(maxGap-minGap+1)+minGap);

___________________(new component(10, height, "green", x, 0));

myObstacles.push(new component(10, x - height - gap, "green", x, height + gap));

}

for (i = 0; i < myObstacles.length; i += 1) {

myObstacles[i].speedX = -1;

_________________[i].newPos();

myObstacles[i].update();

}

myScore.text="SCORE: " + myGameArea.frameNo;

myScore.update();

myGamePiece.newPos();

myGamePiece.update();

}

function everyinterval(n) {

if ((myGameArea.frameNo / n) % 1 == 0) {return true;}

return false;

}

function moveup() {

myGamePiece.speedY = -1;

}

function movedown() {

myGamePiece.speedY = 1;

}

function moveleft() {

myGamePiece.speedX = -1;

}

function moveright() {

myGamePiece.speedX = 1;

}

function clearmove() {

myGamePiece.speedX = 0;

myGamePiece.speedY = 0;

}

</script>

<div>

<button>UP</button><br><br>

<button>LEFT</button>

<button>RIGHT</button><br><br>

<button>DOWN</button>

</div>

<p>The score will count one point for each frame you manage to "stay alive".</p>

</body>

</html>

Explanation / Answer

Answering first 4 as per chegg policy

function component(width, height, color, x, y, type) {

this.type = type;

this.width = width;

this.height = height;

this.speedX = 0;

this.speedY = 0;

this.x = x;

this.y = y;

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote