CodingTrain / CodingTrain/Suggestion-Box

help me check the collision v 2 D:

Open
#498 18 comments 0 reactions 0 assignees View on GitHub
Help wanted
Dominant language
No language data
Stars
570
Forks
85
PR merge metrics
No merged PRs in 30d

Description

hey again ive donee the collision it works on top f the brick but not in the bottom in dont knw why heres the js

var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');

var jumperColor = '#660033';;
var jumperXSpeed = 10;
var gravity = 9.8;

var brickList = [];

var jumper =
{
width: 30,
height: 30,
x: 100,
y: 500,
mass: 100,

speedX: 0,
speedY: 0
}

var brick = createBrick(100, 500, 100, 20);
brickList.push(brick);
var brick = createBrick(200, 400, 100, 20);
brickList.push(brick);
var brick = createBrick(100, 300, 100, 20);
brickList.push(brick);
var brick = createBrick(200, 200, 100, 20);
brickList.push(brick);
var brick = createBrick(100, 100, 100, 20);
brickList.push(brick);
var brick = createBrick(200, 50, 100, 20);
brickList.push(brick);
var brick = createBrick(100, 0, 100, 20);
brickList.push(brick);
var brick = createBrick(200, 0, 100, 20);
brickList.push(brick);
registerKeyboard();

setInterval(gameController, 10);

function gameController()
{
draw();
checkCollisions();
move();
}

function move ()
{
moveJumper();
}
GotoMidGuys();

function draw ()
{
clearCanvas();
drawJumper();
drawBricks();

}

function drawBricks() {
for (var i = 0; i < brickList.length; i++) {
var brick = brickList[i];
context.fillStyle = "#3E983A";
context.fillRect(brick.x, brick.y, brick.width, brick.height);
}
}

function moveJumper()
{
jumper.x += jumper.speedX;
jumper.y += jumper.speedY;

jumper.speedY += 0.2;
if (jumper.speedY >= 10) {
jumper.speedY = 10;
}
}

function getRandomCoordinate()
{
return Math.floor(Math.random() * squareCount + 1);
}

function clearCanvas()
{
context.clearRect(0, 0, 600, 600);
}

function drawJumper ()
{
context.fillStyle = jumperColor;
context.fillRect(jumper.x, jumper.y, jumper.width, jumper.height);
}

function GotoMidGuys()
{
document.getElementById("canvas").style.marginLeft = "auto";
document.getElementById("canvas").style.marginRight = "auto";
canvas.style.display = 'block';
}

function registerKeyboard() {
document.addEventListener('keydown', function (event) {
/*
key codes
W = 119
S = 115
A = 65
D = 68
*/

if(event.keyCode == 87)
{
jumper.speedY = -10;
}
if(event.keyCode == 65)
{
jumper.speedX = -jumperXSpeed;
}
else if(event.keyCode == 68)
{
jumper.speedX = jumperXSpeed;
}
});

document.addEventListener('keyup', function() {
console.log('key up')
if(event.keyCode == 119)
{
}
if(event.keyCode == 65 || event.keyCode == 68)
{
jumper.speedX = 0;
}
});
}

function createBrick(x, y, width, height) {
return {
width: width,
height: height,
x: x,
y: y
}
}

function checkCollisions ()
{
checkBrickCollisions();
}

function checkBrickCollisions ()
{
for (var i = 0; i < brickList.length; i++) {
var brick = brickList[i];
if (jumper.x >= brick.x && jumper.x <= brick.x + brick.width && jumper.y + jumper.height >= brick.y && jumper.y <= brick.y + brick.height)
{
jumper.y = brick.y - jumper.height;
jumper.speedY = Math.min(0, jumper.speedY);
jumper.speedx = 0;
}
}
}

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.