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;
- var PADDLE_WIDTH = 80;
- var PADDLE_HEIGHT = 15;
- var PADDLE_OFFSET = 10;
- var ball;
- var BALL_RADIUS = 15;
- var dx,
- dy = 5;
- var tf = false;
- var score = 0,
- lifes = 3;
- function start(){
- if (Randomizer.nextBoolean() === true) {
- dx = -5;
- } else {dx = 5;}
- drawBricks();
- drawPaddle();
- drawBall();
- setTimer(game, 25);
- mouseMoveMethod(paddleMovement);
- mouseDownMethod(pause);
- }
- function game() {
- gameLogic();
- ballMovement();
- ballCollision();
- }
- function pause(m) {
- tf = !tf;
- if (tf == true) {
- stopTimer(game);
- } else {
- setTimer(game,25);
- }
- }
- function gameLogic() {
- if (score == 80) {
- stopTimer(game);
- win();
- } else if (lifes == 0) {
- stopTimer(game);
- lose();
- }
- }
- function ballMovement() {
- ball.move(dx,dy);
- }
- function ballCollision() {
- var topE = getElementAt(ball.getX(),ball.getY()-BALL_RADIUS);
- var botE = getElementAt(ball.getX(),ball.getY()+BALL_RADIUS);
- if (botE == paddle) {
- dy = -dy;
- } else if (topE != null && topE != paddle) {
- remove(topE);
- dy = -dy;
- } else {
- if (ball.getY()+BALL_RADIUS > getHeight()) {
- dy = -dy;
- remove(ball);
- remove(paddle);
- lifes=lifes-1;
- dy=5;
- if (Randomizer.nextBoolean() === true) {
- dx = -5;
- } else {dx = 5;}
- drawPaddle();
- drawBall();
- } else if (ball.getY()-BALL_RADIUS < 0) {
- dy = -dy;
- } else if (ball.getX()+BALL_RADIUS > getWidth()) {
- dx = -dx;
- } else if (ball.getX()-BALL_RADIUS < 0) {
- dx = -dx;
- }
- }
- }
- function paddleMovement(m) {
- if (m.getX()-PADDLE_WIDTH/2 < 0 || m.getX()+PADDLE_WIDTH/2 > getWidth()) {}
- else {
- paddle.setPosition(m.getX()-PADDLE_WIDTH/2,paddle.getY());
- }
- }
- function drawBall() {
- ball = new Circle(BALL_RADIUS);
- ball.setColor(Color.black);
- ball.setPosition(getWidth()/2,getHeight()/2);
- add(ball);
- }
- function drawPaddle() {
- paddle = new Rectangle(PADDLE_WIDTH,PADDLE_HEIGHT);
- paddle.setColor(Color.black);
- paddle.setPosition(getWidth()/2-PADDLE_WIDTH/2,getHeight()-PADDLE_HEIGHT-PADDLE_OFFSET);
- add(paddle);
- }
- function drawBricks() {
- var posy = BRICK_TOP_OFFSET;
- var color = Color.red;
- var x = 0;
- for (var i = 0; i < NUM_ROWS; i++) {
- if (x==0||x==1) {
- color=Color.red;
- x++;
- } else if (x==2||x==3) {
- color=Color.orange;
- x++;
- } else if (x==4||x==5) {
- color=Color.green
- x++;
- } else if (x==6||x==7) {
- color=Color.blue;
- x++;
- } else {
- color=Color.red;
- x = 0;
- }
- println(x);
- for (var j = 0; j < NUM_BRICKS_PER_ROW; j++) {
- var brick = new Rectangle(BRICK_WIDTH,BRICK_HEIGHT);
- brick.setPosition(BRICK_SPACING+BRICK_SPACING*j+BRICK_WIDTH*j,posy);
- brick.setColor(color);
- add(brick);
- }
- posy = posy+BRICK_HEIGHT+BRICK_SPACING;
- }
- }
- function win() {
- remove(ball);
- remove(paddle);
- var wintext = new Text("You win", "30pt Arial");
- wintext.setPosition(getWidth()/2-wintext.getWidth()/2, getHeight()/2-wintext.getHeight()/2);
- add(wintext);
- }
- function lose() {
- remove(ball);
- remove(paddle);
- var losetext = new Text("You lose", "30pt Arial");
- losetext.setPosition(getWidth()/2-losetext.getWidth()/2, getHeight()/2-losetext.getHeight()/2);
- add(losetext);
- }
Advertisement
Add Comment
Please, Sign In to add comment