Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 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 dx=2;
- var dy=5;
- var ball;
- var paddle;
- var BALL_RADIUS = 15;
- /* constants for bricks vol 2*/
- var color;
- var x;
- var y;
- var color;
- var l;
- var song;
- var brick;
- var count=0;
- var txt;
- var counter=80;
- function start(){
- println("to play game you need to move paddle with mouse,");
- println("if you die 3 times you lose srry :( to try again click run ");
- sound();
- draw();
- ball=new Circle(BALL_RADIUS);
- ball.setPosition(getWidth()/2- 5,getHeight()/2);
- ball.setColor(Color.black);
- add(ball);
- paddle=new Rectangle(PADDLE_WIDTH,PADDLE_HEIGHT);
- paddle.setColor(Color.black);
- add(paddle);
- setTimer(d2,20);
- mouseMoveMethod(move);
- checkBrick();
- }
- function sound(){
- song=new Audio("https://codehs.com/uploads/d176ba6900cc2ff1459dcf83e66aeafa");
- song.play();
- song.loop= true;
- }
- y=BRICK_TOP_OFFSET;
- function d2(){
- checkBrick();
- checkWalls();
- checkpaddle();
- ball.move(dx,dy);
- }
- function draw(){
- for(var i = 0; i < NUM_BRICKS_PER_ROW; i++){
- for(var l = 0; l < NUM_ROWS; l++){
- brick = new Rectangle(BRICK_WIDTH, BRICK_HEIGHT);
- brick.setColor(Color.red);
- brick.setPosition(BRICK_SPACING + BRICK_SPACING * i + BRICK_WIDTH * i,
- BRICK_TOP_OFFSET + BRICK_SPACING * l + BRICK_HEIGHT * l);
- add(brick);
- if(l == 2 || l == 3){
- brick.setColor(Color.orange)
- }else if(l == 4 || l == 5){
- brick.setColor(Color.green)
- }else if(l == 6 || l == 7){
- brick.setColor(Color.blue)
- }
- }
- }
- }
- /* This function is bouncing ball*/
- function checkWalls(){
- // Bounce off right wall
- if(ball.getX() + ball.getRadius() > getWidth()){
- dx = -dx;
- }
- // Bounce off left wall
- if(ball.getX() - ball.getRadius() < 0){
- dx = -dx;
- }
- // Bounce off top wall
- if(ball.getY() - ball.getRadius() < 0){
- dy = -dy;
- }
- if(paddle.getX() + PADDLE_WIDTH>getWidth()){
- PADDLE_WIDTH= -PADDLE_WIDTH;
- }
- if(ball.getY()>getHeight()){
- count++
- if(count<3){
- stopTimer(d2);
- song.pause();
- respawn();
- }
- dead();
- }
- }
- function dead(){
- if(count==3){
- text("GAME OVER");
- stopTimer(d2);
- song.pause();
- }
- }
- function respawn(){
- if(ball.getX()>0 && ball.getX()<getWidth()){
- if(count<3){
- remove(ball);
- ball=new Circle(BALL_RADIUS);
- ball.setPosition(getWidth()/2- 5,getHeight()/2);
- add(ball);
- song.play();
- add(paddle);
- setTimer(d2,20);
- }
- }
- }
- function text(t){
- remove(text);
- txt=new Text(t,"40pt arial");
- txt.setPosition(getWidth()/2 - 155,getHeight()/2);
- txt.setColor(Color.red);
- add(txt);
- }
- /* this function is to move paddle */
- function move(e){
- paddle.setPosition(e.getX(), getHeight() - PADDLE_OFFSET - PADDLE_HEIGHT);
- }
- function checkBrick(){
- var elem = getElementAt(ball.getX(), ball.getY() - ball.getRadius());
- var ele= getElementAt(ball.getX() - ball.getRadius(), ball.getY());
- var elem2= getElementAt(ball.getX() + ball.getRadius(), ball.getY());
- if(elem != null){
- if(elem.getColor()!=Color.white){
- remove(elem);
- counter--;
- if(counter==0){
- stopTimer(d2);
- text("YOU WIN !");
- }
- }
- dy = -dy;
- }
- if(ele != null ){
- if(ele.getColor()!=Color.white){
- remove(ele);
- counter--;
- if(counter== 0){
- println(counter);
- stopTimer(d2);
- text("YOU WIN !");
- }
- }
- dx = -dx;
- }
- if(elem2 != null){
- if(elem2.getColor()!=Color.white){
- remove(elem2);
- if(counter== 0){
- stopTimer(d2);
- text("YOU WIN !");
- }
- }
- dx = -dx;
- }
- }
- /* this function is to bounce ball from paddle */
- function checkpaddle(){
- var el = getElementAt(ball.getX(), ball.getY() + ball.getRadius());
- if(el ==paddle){
- dy= -dy;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement