Guest User

Untitled

a guest
Oct 2nd, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. /* Constants for bricks */
  2. var NUM_ROWS = 8;
  3. var BRICK_TOP_OFFSET = 10;
  4. var BRICK_SPACING = 2;
  5. var NUM_BRICKS_PER_ROW = 10;
  6. var BRICK_HEIGHT = 10;
  7. var SPACE_FOR_BRICKS = getWidth() - (NUM_BRICKS_PER_ROW + 1) * BRICK_SPACING;
  8. var BRICK_WIDTH = SPACE_FOR_BRICKS / NUM_BRICKS_PER_ROW;
  9.  
  10. /* Constants for ball and paddle */
  11. var paddle;
  12. var PADDLE_WIDTH = 80;
  13. var PADDLE_HEIGHT = 15;
  14. var PADDLE_OFFSET = 10;
  15.  
  16. var ball;
  17. var BALL_RADIUS = 15;
  18. var dx,
  19. dy = 5;
  20.  
  21. var tf = false;
  22. var score = 0,
  23. lifes = 3;
  24.  
  25. function start(){
  26. if (Randomizer.nextBoolean() === true) {
  27. dx = -5;
  28. } else {dx = 5;}
  29.  
  30. drawBricks();
  31. drawPaddle();
  32. drawBall();
  33.  
  34. setTimer(game, 25);
  35.  
  36. mouseMoveMethod(paddleMovement);
  37. mouseDownMethod(pause);
  38. }
  39.  
  40. function game() {
  41. gameLogic();
  42. ballMovement();
  43. ballCollision();
  44. }
  45.  
  46. function pause(m) {
  47. tf = !tf;
  48. if (tf == true) {
  49. stopTimer(game);
  50. } else {
  51. setTimer(game,25);
  52. }
  53. }
  54.  
  55. function gameLogic() {
  56. if (score == 80) {
  57. stopTimer(game);
  58. win();
  59. } else if (lifes == 0) {
  60. stopTimer(game);
  61. lose();
  62. }
  63.  
  64. }
  65.  
  66. function ballMovement() {
  67. ball.move(dx,dy);
  68. }
  69.  
  70. function ballCollision() {
  71. var topE = getElementAt(ball.getX(),ball.getY()-BALL_RADIUS);
  72. var botE = getElementAt(ball.getX(),ball.getY()+BALL_RADIUS);
  73. if (botE == paddle) {
  74. dy = -dy;
  75. } else if (topE != null && topE != paddle) {
  76. remove(topE);
  77. dy = -dy;
  78. } else {
  79. if (ball.getY()+BALL_RADIUS > getHeight()) {
  80. dy = -dy;
  81. remove(ball);
  82. remove(paddle);
  83. lifes=lifes-1;
  84. dy=5;
  85.  
  86. if (Randomizer.nextBoolean() === true) {
  87. dx = -5;
  88. } else {dx = 5;}
  89. drawPaddle();
  90. drawBall();
  91. } else if (ball.getY()-BALL_RADIUS < 0) {
  92. dy = -dy;
  93. } else if (ball.getX()+BALL_RADIUS > getWidth()) {
  94. dx = -dx;
  95. } else if (ball.getX()-BALL_RADIUS < 0) {
  96. dx = -dx;
  97. }
  98. }
  99. }
  100.  
  101. function paddleMovement(m) {
  102. if (m.getX()-PADDLE_WIDTH/2 < 0 || m.getX()+PADDLE_WIDTH/2 > getWidth()) {}
  103. else {
  104. paddle.setPosition(m.getX()-PADDLE_WIDTH/2,paddle.getY());
  105. }
  106. }
  107.  
  108. function drawBall() {
  109. ball = new Circle(BALL_RADIUS);
  110. ball.setColor(Color.black);
  111. ball.setPosition(getWidth()/2,getHeight()/2);
  112. add(ball);
  113. }
  114.  
  115. function drawPaddle() {
  116. paddle = new Rectangle(PADDLE_WIDTH,PADDLE_HEIGHT);
  117. paddle.setColor(Color.black);
  118. paddle.setPosition(getWidth()/2-PADDLE_WIDTH/2,getHeight()-PADDLE_HEIGHT-PADDLE_OFFSET);
  119. add(paddle);
  120. }
  121.  
  122. function drawBricks() {
  123. var posy = BRICK_TOP_OFFSET;
  124. var color = Color.red;
  125. var x = 0;
  126. for (var i = 0; i < NUM_ROWS; i++) {
  127. if (x==0||x==1) {
  128. color=Color.red;
  129. x++;
  130. } else if (x==2||x==3) {
  131. color=Color.orange;
  132. x++;
  133. } else if (x==4||x==5) {
  134. color=Color.green
  135. x++;
  136. } else if (x==6||x==7) {
  137. color=Color.blue;
  138. x++;
  139. } else {
  140. color=Color.red;
  141. x = 0;
  142. }
  143. println(x);
  144. for (var j = 0; j < NUM_BRICKS_PER_ROW; j++) {
  145. var brick = new Rectangle(BRICK_WIDTH,BRICK_HEIGHT);
  146. brick.setPosition(BRICK_SPACING+BRICK_SPACING*j+BRICK_WIDTH*j,posy);
  147. brick.setColor(color);
  148. add(brick);
  149. }
  150. posy = posy+BRICK_HEIGHT+BRICK_SPACING;
  151. }
  152. }
  153.  
  154. function win() {
  155. remove(ball);
  156. remove(paddle);
  157. var wintext = new Text("You win", "30pt Arial");
  158. wintext.setPosition(getWidth()/2-wintext.getWidth()/2, getHeight()/2-wintext.getHeight()/2);
  159. add(wintext);
  160. }
  161.  
  162. function lose() {
  163. remove(ball);
  164. remove(paddle);
  165. var losetext = new Text("You lose", "30pt Arial");
  166. losetext.setPosition(getWidth()/2-losetext.getWidth()/2, getHeight()/2-losetext.getHeight()/2);
  167. add(losetext);
  168. }
Advertisement
Add Comment
Please, Sign In to add comment