float barX=295,barY=500,barDX=0,barDY=0; float ballX=295,ballY=490,ballDX=0,ballDY=0; float brickaX=200,brickaY=100,brickaDX=0,brickaDY=0; float brickbX=200,brickbY=200,brickbDX=0,brickbDY=0; float brickcX=300,brickcY=100,brickcDX=0,brickcDY=0; float brickdX=300,brickdY=200,brickdDX=0,brickdDY=0; float brickeX=400,brickeY=200,brickeDX=0,brickeDY=0; float brickfX=400,brickfY=100,brickfDX=0,brickfDY=0; float brickgX=100,brickgY=200,brickgDX=0,brickgDY=0; float brickhX=200,brickhY=150,brickhDX=0,brickhDY=0; float brickiX=200,brickiY=250,brickiDX=0,brickiDY=0; float brickjX=300,brickjY=100,brickjDX=0,brickjDY=0; float brickkX=300,brickkY=200,brickkDX=0,brickkDY=0; float bricklX=300,bricklY=300,bricklDX=0,bricklDY=0; float brickmX=400,brickmY=150,brickmDX=0,brickmDY=0; float bricknX=400,bricknY=250,bricknDX=0,bricknDY=0; float brickoX=500,brickoY=200,brickoDX=0,brick0DY=0; int score=0; int lives=3; void setup(){ size(600,600); } void draw(){ //// pause if (key == 'p') { text("PAUSE",280,300); text("PRESS ANY BUTTON TO CONTINUE",200,330); } else { scene(); action(); } } void action(){ bar(); ball(); bricks(); ////bounce off bar if (dist(barX,barY,ballX,ballY)<20){ ballDY*=-1; } instructions(); scoring(); } void scene(){ background(23,98,255); } void scoring(){ ////lives text("LIVES:"+lives,500,80); ////restarts ball for 3 lives if (ballY>590){ lives-=1; ballY=barY-10; ballX=barX; ballDY=0; ballDX=0; } ////ends game if lives are below 1 if (lives<1){ background(0); fill(240,10,56); text("GAME OVER",270,400); text("HIGHSCORE:"+score,260,430); } //// Scoreboard text( "SCORE: "+score, 500, 50 ); ////resets ball for next level if (score==30){ ballY=barY-10; ballX=barX; ballDY=0; ballDX=0; ////bonus points for level completion score+=10; } ////starts next level if (score>25){ text("LEVEL 2",280,50); ////resets ball leveltwo(); } } ////draws and moves bar void bar(){ if (barX<10) barX+=10; if (barX>590) barX-=10; rectMode(CENTER); fill(172,174,178); rect(barX,barY,40,5); if (keyPressed){ if (key=='a'){ barX-=3; } if (key=='d'){ barX+=3; } } } void ball(){ ////starts ball if (key=='b'){ ////determines if ball goes left or right depending on location of bar if (barX>300){ ballDX=-3.5; ballDY=-2.5; }else{ ballDX=3.5; ballDY=-2.5; } } ////controls where ball starts if (ballDX==0 || ballDY==0){ ballX=barX; ballY=barY-10; }else{ ////draws ball, bounces ballX+=ballDX; ballY+=ballDY; if (ballX<10) ballDX*=-1; if (ballX>590) ballDX*=-1; if (ballY<10) ballDY*=-1; } fill(0); ellipse(ballX,ballY,10,10); } void bricks(){ ////makes bricks dissapear when hit fill(224,16,16); rect(brickaX,brickaY,50,25); if (dist(brickaX,brickaY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickaY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickbX,brickbY,50,25); if (dist(brickbX,brickbY,ballX,ballY)<35){ ////dissapear when ball hits brick brickbY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickcX,brickcY,50,25); if (dist(brickcX,brickcY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickcY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickdX,brickdY,50,25); if (dist(brickdX,brickdY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickdY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickeX,brickeY,50,25); if (dist(brickeX,brickeY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickeY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickfX,brickfY,50,25); if (dist(brickfX,brickfY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickfY-=500; ballDX*=1; ballDY*=-1; score+=5; } } void instructions(){ fill(103,9,33); text("CONTROLS:",50,50); text("A TO MOVE LEFT",50,70); text("D TO MOVE RIGHT",50,90); text("P TO PAUSE",50,110); text("B TO BEGIN",50,130); } void leveltwo(){ ////starts level two brickstwo(); } void brickstwo(){ ////makes bricks dissapear when hit fill(224,16,16); rect(brickgX,brickgY,50,25); if (dist(brickgX,brickgY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickgY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickhX,brickhY,50,25); if (dist(brickhX,brickhY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickhY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickiX,brickiY,50,25); if (dist(brickiX,brickiY,ballX,ballY)<35){ ////dissapear when ball hits brick brickiY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickjX,brickjY,50,25); if (dist(brickjX,brickjY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickjY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickkX,brickkY,50,25); if (dist(brickkX,brickkY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickkY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(bricklX,bricklY,50,25); if (dist(bricklX,bricklY,ballX,ballY)<40){ ////dissapear when ball hits bricks bricklY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickmX,brickmY,50,25); if (dist(brickmX,brickmY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickmY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(bricknX,bricknY,50,25); if (dist(bricknX,bricknY,ballX,ballY)<40){ ////dissapear when ball hits bricks bricknY-=500; ballDX*=1; ballDY*=-1; score+=5; } rect(brickoX,brickoY,50,25); if (dist(brickoX,brickoY,ballX,ballY)<40){ ////dissapear when ball hits bricks brickoY-=500; ballDX*=1; ballDY*=-1; score+=5; } }