first commit
This commit is contained in:
		
							parent
							
								
									06ebb91fe0
								
							
						
					
					
						commit
						dd7415da12
					
				
					 6 changed files with 184 additions and 0 deletions
				
			
		
							
								
								
									
										18
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
| 
 | ||||
|     <title>Sketch</title> | ||||
| 
 | ||||
|     <link rel="stylesheet" type="text/css" href="style.css"> | ||||
| 
 | ||||
|     <script src="libraries/p5.min.js"></script> | ||||
|     <script src="libraries/p5.sound.min.js"></script> | ||||
|   </head> | ||||
| 
 | ||||
|   <body> | ||||
|     <script src="sketch.js"></script> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										7
									
								
								jsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								jsconfig.json
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | |||
| { | ||||
|   "include": [ | ||||
|     "*.js", | ||||
|     "libraries/*.js", | ||||
|     "/home/luna/.vscode-oss/extensions/samplavigne.p5-vscode-1.2.7/p5types/global.d.ts" | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										3
									
								
								libraries/p5.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								libraries/p5.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										3
									
								
								libraries/p5.sound.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								libraries/p5.sound.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										145
									
								
								sketch.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										145
									
								
								sketch.js
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,145 @@ | |||
| //VARIABLE SETUP
 | ||||
| 
 | ||||
| let x = 0; | ||||
| let y = 0; | ||||
| let x2 = 0; | ||||
| let y2 = 0; | ||||
| let ballX = 0; | ||||
| let ballY = 0; | ||||
| let ballSpeedX = 0; | ||||
| let ballSpeedY = 0; | ||||
| let vec; | ||||
| let ballD = 50; | ||||
| let paddleWidth = 5; | ||||
| let paddleHeight = 150; | ||||
| let button; | ||||
| let score1 = 0; | ||||
| let score2 = 0; | ||||
| //CHANGING THE VARIBLES TO THEIR DEFAULT VALUE AND MAKING A VECTOR FOR THE BALL
 | ||||
| 
 | ||||
| function setup() { | ||||
|   createCanvas(windowWidth, windowHeight); | ||||
|   resetSketch(); | ||||
|    | ||||
| } | ||||
| 
 | ||||
| function resetSketch() { | ||||
|   frameRate(60) | ||||
|   if (!button) { | ||||
|     button = createButton('Reset'); | ||||
|   } | ||||
|   button.size(250); | ||||
|   button.position(width / 2, height / 2); | ||||
|   button.center('horizontal'); | ||||
|   button.hide() | ||||
|   button.mousePressed(resetSketch); | ||||
|   x = width / 2 - 900; | ||||
|   y = height / 2 - 75; | ||||
|   x2 = width / 2 + 900; | ||||
|   y2 = height / 2 - 75; | ||||
|   ballX = width / 2; | ||||
|   ballY = height /2; | ||||
|   vec = createVector(random(-1, 1), random(-1, 1)); | ||||
|   vec.normalize(); | ||||
|   ballSpeedX = vec.x * 8; | ||||
|   ballSpeedY = vec.y * 8; | ||||
|   } | ||||
| 
 | ||||
| function draw() { | ||||
|   background(255); | ||||
|    | ||||
| 
 | ||||
| //CHECKING IF W OR S IS PRESSED DOWN TO MOVE THE LEFT RECTANGLE
 | ||||
| 
 | ||||
|   if (keyIsDown(87) && y > 0) { | ||||
|     y -= 10 | ||||
|   }; | ||||
| 
 | ||||
|   if (keyIsDown(83) && y < height - 150) { | ||||
|     y += 10 | ||||
|   }; | ||||
|   clear(); | ||||
|   fill(0, 0, 0); | ||||
|   rect(x, y, paddleWidth, paddleHeight); | ||||
| 
 | ||||
|   //CEHCKING IF I OR K IS PRESSED DOWN TO MOVE THE RIGHT RECTANGLE
 | ||||
| 
 | ||||
|   if (keyIsDown(73) && y2 > 0) { | ||||
|     y2 -= 10 | ||||
|   }; | ||||
| 
 | ||||
|   if (keyIsDown(75) && y2 < height - 150) { | ||||
|     y2 += 10 | ||||
|   }; | ||||
|   rect(x2, y2, paddleWidth, paddleHeight); | ||||
| 
 | ||||
|   //CREATING THE BALL AND GIVING IT SPEED IN A RANDOM DIRECTION
 | ||||
| 
 | ||||
|   ellipse(ballX, ballY, ballD); | ||||
|   ballX = ballX + ballSpeedX; | ||||
|   ballY = ballY + ballSpeedY; | ||||
|    | ||||
| //IF THE BALL HITS THE TOP OF BOTTOM THEN BOUNCE OFF
 | ||||
| 
 | ||||
|   if (ballY <  0 || ballY > height) { | ||||
|     ballSpeedY *= -1 | ||||
|   }; | ||||
| 
 | ||||
| //CREATES A LINE IN THE MIDDLE
 | ||||
| 
 | ||||
|   stroke(0) | ||||
|   strokeWeight(1) | ||||
|   line(width / 2, height, width / 2, 0) | ||||
| 
 | ||||
| //CHECKS THE DISTANCE BETWEEN THE BALL AND THE RECTANGLES SO THE BALL WILL BOUNCE OFF IF THEY ARE TOUCHING.
 | ||||
| 
 | ||||
| if (ballY > y && ballY < y + paddleHeight && ballX < x + paddleWidth + ballD / 2 && ballX > 0 && ballX < width) { | ||||
|   vec = createVector(random(-1, 0), random(-1, 1)); | ||||
|   vec.normalize(); | ||||
|   ballSpeedX = vec.x * -8; | ||||
|   ballSpeedY = vec.y * -8; | ||||
| } | ||||
| 
 | ||||
| if (ballY > y2 && ballY < y2 + paddleHeight && ballX > x2 + paddleWidth - ballD / 2 && ballX > 0 && ballX < width) { | ||||
|   vec = createVector(random(0, 1), random(-1, 1)); | ||||
|   vec.normalize(); | ||||
|   ballSpeedX = vec.x * -8; | ||||
|   ballSpeedY = vec.y * -8; | ||||
| } | ||||
| 
 | ||||
| //CHECKS IF THE PLAYER HAS WON OR LOST
 | ||||
| 
 | ||||
| 
 | ||||
|   if (ballX > width + 30) { | ||||
|     fill(0) | ||||
|     textSize(32) | ||||
|     text('Player 1 Wins!', width / 3 + 90, height / 2 - 25) | ||||
|     score1++ | ||||
|     button.show() | ||||
|     frameRate(0) | ||||
|   } | ||||
|    | ||||
|   if (ballX < -30) { | ||||
|     fill(0) | ||||
|     textSize(32) | ||||
|     text('Player 2 Wins!', width / 2, height / 2 - 25) | ||||
|     score2++ | ||||
|     button.show() | ||||
|     frameRate(0) | ||||
|   }; | ||||
| 
 | ||||
| // SHOWS THE SCORE FOR THE EACH PLAYER
 | ||||
|   textSize(32) | ||||
|   text(`Score: ${score1}`, width / 4, height - 25) | ||||
|   text(`Score: ${score2}`, width - 500, height - 25) | ||||
| 
 | ||||
| //PRINTS WHICH PLAYER IS WHICH
 | ||||
| 
 | ||||
|   text('Player 1', width / 4, height - 920) | ||||
|   text('Player 2', width - 500, height - 920) | ||||
|    | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
							
								
								
									
										8
									
								
								style.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								style.css
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| html, body { | ||||
|   margin: 0; | ||||
|   padding: 0; | ||||
| } | ||||
| 
 | ||||
| canvas { | ||||
|   display: block; | ||||
| } | ||||
		Loading…
	
		Reference in a new issue