Breakout- JavaScript Mini Project | 726. Prabal Basnet | Breakout

 

index.html

<!DOCTYPE html>
<html><head><title>BREAKOUT GAME</title>
<style>
canvas {
border: 1px solid black;
display: block;
margin: auto;
}
</style>
</head>
<body>
<canvas id="mycanvas" width="480" height="320"></canvas>
<script>
var canvas= document.getElementById("mycanvas");
var ctx=canvas.getContext("2d");
 var ballRadius = 10;
var x = canvas.width / 2;
var y = canvas.height - 30;
var dx = 2;
var dy = -2;
 var paddleHeight = 10;
var paddleWidth = 75;
var paddleX=(canvas.width - paddleWidth) / 2;
var rightPressed =false;
var leftPressed= false;
document.addEventListener("keydown", keyDownHandler, false);
document.addEventListener("keyup", keyUpHandler, false);

 function keyDownHandler(e){
 if(e.key == "Right" || e.key=="ArrowRight"){
rightPressed= true;
}
else if(e.key == "Left" || e.key=="ArrowLeft"){
leftPressed= true;
}
}
 function keyUpHandler(e){
  if(e.key == "Right"|| e.key=="ArrowRight"){
rightPressed= false;
}
else if(e.key=="Left"|| e.key=="ArrowLeft"){
leftPressed= false;
}
}
function drawBall()
{
ctx.beginPath();
ctx.arc(x , y, ballRadius, 0 ,Math.PI * 2);
ctx.fillStyle="#0095DD";
ctx.fill();
ctx.closePath();
}
function drawPaddle(){
ctx.beginPath();
ctx.rect(paddleX , canvas.height - paddleHeight ,paddleWidth ,paddleHeight);
ctx.fillStyle="#0095DD";
ctx.fill();
ctx.closePath();
}
function draw(){
ctx.clearRect(0,0,canvas.width,canvas.height);
drawBall();
drawPaddle();
                    
       if(x + dx > canvas.width-ballRadius || x + dx < ballRadius){
dx=-dx;
}  if(y + dy< ballRadius){
dy=-dy;
}else if(y + dy > canvas.height - ballRadius){
if(x> paddleX && x < paddleX + paddleWidth){
dy=-dy;
}else{
        document.location.reload();
}
}
if(rightPressed && paddleX < canvas.width - paddleWidth){
       paddleX += 7;
}
    else if(leftPressed && paddleX > 0){
 paddleX -= 7;
}
x += dx;
y += dy;
requestAnimationFrame(draw);
}
draw();
</script>
</body>
</html>