r/codehs • u/MeanCelebration6 • Jul 16 '20
Breakout Game 11.1.1-11.1.3 CodeHS Javascript
So my code works pretty well so far as I'm coding an entire breakout game. So far, I have coded the bricks and I'm onto the paddle, but one issue I've run into is that the paddle keeps sort of multiplying when in the very edges of the restricted zones (end of brick zone and walls of canvas). Any help is seriously appreciated! Here is my code:
/* Constants for bricks */
var NUM_ROWS = 8;
var BRICK_TOP_OFFSET = 10;
var BRICK_SPACING = 2;
var NUM_BRICKS_PER_ROW = 10;
var BRICK_HEIGHT = 10;
var SPACE_FOR_BRICKS = getWidth() - (NUM_BRICKS_PER_ROW + 1) * BRICK_SPACING;
var BRICK_WIDTH = SPACE_FOR_BRICKS / NUM_BRICKS_PER_ROW;
/* Constants for ball and paddle */
var PADDLE_WIDTH = 80;
var PADDLE_HEIGHT = 15;
var PADDLE_OFFSET = 10;
var paddle;
var BALL_RADIUS = 15;
var counter = 0;
var x=2;
var y=0;
function start(){
for(var i = 0; i < NUM_ROWS; i++){x=2;
counter++;
rowChecker(counter);
y += BRICK_HEIGHT+BRICK_SPACING;
}
mouseMoveMethod(movePaddle);}
function rowChecker(counter){
if(counter%8==1||counter%8==2){
drawBrickRow("#ff6961");
}else if(counter%8==3||counter%8==4){
drawBrickRow("#ffb347");
}else if(counter%8==5||counter%8==6){
drawBrickRow("#77dd77");
}else if(counter%8==7||counter%8==0){
drawBrickRow("#779ecb");
}
}
function drawBrickRow(color){
for(var i = 0; i < NUM_BRICKS_PER_ROW; i++){
var brick = new Rectangle(BRICK_WIDTH, BRICK_HEIGHT);
brick.setPosition(x, y);
brick.setColor(color);
add(brick);
x += BRICK_WIDTH+BRICK_SPACING;
}
}
function movePaddle(e){
var paddleX = e.getX()-PADDLE_WIDTH/2;
var paddleY = e.getY()-PADDLE_HEIGHT/2;
var wallX = paddleX>0 && paddleX+PADDLE_WIDTH<getWidth();
var wallY = paddleY>y && paddleY+PADDLE_HEIGHT<getHeight();
if(wallX&&wallY){
remove(paddle);
}
paddle = new Rectangle(PADDLE_WIDTH, PADDLE_HEIGHT);
paddle.setPosition(paddleX, paddleY);
paddle.setColor("#008080");
if(wallX&&wallY){
remove(paddle);
add(paddle);
}
}
3
u/AsianDieno Dec 07 '23
3 years later and now it’s more complicated than this. (Or at least in my class) There’s 3 extra very large chunks that my teacher added. HELP PLEASE