Advertisement
Guest User

sketch.js

a guest
May 8th, 2017
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. var ballxspeed;
  2. var ballyspeed;
  3. var ballx;
  4. var bally;
  5. var ballw;
  6. var ballh;
  7. var ballangle;
  8. var ballc;
  9. var pad1x;
  10. var pad1y;
  11. var p1c; //player1 and pad1 color
  12. var p2c;
  13. var pad2x;
  14. var pad2y;
  15. var padw;
  16. var padh;
  17.  
  18. var p1score;
  19. var p2score;
  20. //var pad1ychange;
  21. var c;
  22. var lcolor;
  23.  
  24. function keyPressed(){
  25. if (keyCode === DOWN_ARROW){
  26. pad2move(30);
  27. console.log(pad2y);
  28. }
  29.  
  30. if (keyCode === UP_ARROW){
  31. pad2move(-30);
  32. console.log(pad2y);
  33. }
  34. if (keyCode === 90) { // z key press
  35. pad1move(-30);
  36. console.log(pad2y);
  37. }
  38. if (keyCode === 83) { //s key press
  39. pad1move(30);
  40. console.log(pad2y);
  41. }
  42. }
  43.  
  44. function keyReleased(){
  45. if (keyCode === DOWN_ARROW) {
  46. pad2move(0);
  47. console.log(pad2y);
  48. }
  49.  
  50. if (keyCode === UP_ARROW) {
  51. pad2move(0);
  52. console.log(pad2y);
  53. }
  54. if (keyCode === 90) { // z key press
  55. pad1move(0);
  56. console.log(pad2y);
  57. }
  58. if (keyCode === 83) { //s key press
  59. pad1move(0);
  60. console.log(pad2y);
  61. }
  62. }
  63.  
  64. function checkstart() {}
  65. textSize(100);
  66. text("Press space to start the game :",width/2,height/2);
  67. if (keyCode === 32) {
  68. resetpos();
  69. } // if space is pressed
  70.  
  71.  
  72.  
  73.  
  74. function pad1move(steps) {
  75. pad1y += steps
  76. }
  77.  
  78. function pad2move(steps) {
  79. pad2y += steps
  80. }
  81.  
  82.  
  83.  
  84. function show() {
  85. background(0);
  86. fill(ballc);
  87. stroke(255);
  88. strokeWeight(2);
  89. ellipse(ballx,bally,ballw,ballh);
  90. fill(p1c);
  91. stroke(255);
  92. strokeWeight(2);
  93. rect(pad1x,pad1y,padw,padh);
  94. fill(p2c);
  95. rect(pad2x,pad2y,padw,padh);
  96. stroke(lcolor);
  97. strokeWeight(7.7);
  98. line((width/2),0,(width/2),height)
  99. line(2.5,0,2.5,height);
  100. line(2.5,0,width+2.5,0);
  101. line(width-2.5,0,width-2.5,height);
  102. line(0,height-2.5,width,height-2.5);
  103.  
  104. }
  105.  
  106.  
  107. function update() {
  108. ballx += ballxspeed;
  109. bally += ballyspeed;
  110. pad1y = constrain(pad1y,(0),(height-padh))
  111. pad2y = constrain(pad2y,(0),(height-padh))
  112. }
  113.  
  114. function edges() {
  115. if (bally < 10 || bally > height) {
  116. ballyspeed *= -1;
  117. //edgesbipsound.play();
  118. }
  119. }
  120. function resetpos() {
  121. ballx = width/2;
  122. bally = height/2;
  123. randomballyspeed();
  124. randomballxangle();
  125.  
  126. }
  127.  
  128.  
  129. function checkpadcollision() {
  130. if ((ballx > pad2x-padw) && (bally > pad2y && bally < (pad2y+padh))) {
  131. //p2c = color(111,0,111);
  132. ballxspeed *= -1;
  133. }
  134. if ((ballx < (pad1x+2*padw)) && (bally > pad1y && bally < (pad1y+padh))) {
  135. //p1c = color(111,0,111);
  136. ballxspeed *= -1;
  137. }
  138. }
  139. function randomballxangle() {
  140. ballangle = floor((random() * 360) -360);
  141. ballxspeed *= cos(ballangle);
  142. ballyspeed *= sin(ballangle);
  143.  
  144. }
  145.  
  146. function randomballyspeed() {
  147. return Math.floor(Math.random() * (3 + 7)) -7;
  148. }
  149.  
  150.  
  151.  
  152.  
  153. function ballaccel() {
  154. for(i=0;i>5000;i++) {
  155. ballx ++;
  156. bally ++;
  157. i = 0;
  158. console.log(ballx)
  159. }
  160. }
  161.  
  162. function playersscores() {
  163. noStroke();
  164. fill(lcolor);
  165. textSize(70);
  166. textFont("Algerian");
  167. text(p1score,(width/2+width/4),height/8);
  168. fill(lcolor);
  169. textSize(70);
  170. textFont("Algerian");
  171. text(p2score,width/4,height/8);
  172. }
  173.  
  174.  
  175. function scorepoint() {
  176. if (ballx > width) {
  177. p2score ++;
  178. resetpos();
  179. }
  180. else if(ballx < 0) {
  181. p1score++;
  182. resetpos();
  183. }
  184. }
  185.  
  186. /*function preload() {
  187. padbipsound = loadSound('pong/D3pong.waw');
  188. edgesbipsound = loadSound('pong/D5pong.waw')
  189. }*/
  190.  
  191. function rainbowcolor() {
  192. colorMode(HSB);
  193. if (c <= 255) {
  194. c += 0.5;}
  195.  
  196. else {
  197. c = 0;
  198. }
  199. lcolor = color(c,255,255);
  200. }
  201.  
  202. function waitforstart() {}
  203.  
  204.  
  205.  
  206. function setup() {
  207. createCanvas(windowWidth,windowHeight);
  208. angleMode(DEGREES);
  209. rectMode(NORMAL);// default
  210. rainbowcolor();
  211. ballx = width/2;//to adapt to different screen sizes
  212. bally = height/2;//same
  213. ballw = 20;
  214. ballh = 20;
  215. ballc = color(0);
  216. padw = width/80;//same
  217. padh = height/5;//same
  218. pad1x = 0+(2*padw);
  219. pad1y = ((height/2)-(padh/2));//paddle at the middle of the screen
  220. p1c = color(0);
  221. pad2x = width-3*padw;
  222. pad2y = ((height/2)-(padh/2));//paddle at the middle of the screen
  223. p2c = color(0);
  224. ballxspeed = 7;
  225. ballyspeed = randomballyspeed()
  226. p1score = 0;
  227. p2score = 0;
  228. //padbipsound.setVolume(0.5);
  229. //edgesbipsound.setVolume(0.5);
  230. }
  231.  
  232.  
  233.  
  234. function draw() {
  235. rainbowcolor();
  236. edges();
  237. update();
  238. show();
  239. scorepoint();
  240. playersscores();
  241. checkpadcollision();
  242. ballaccel();
  243. keyPressed();
  244. keyReleased();
  245. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement