Fixed tiles not breaking & misc other things
This commit is contained in:
		
							parent
							
								
									94da8b0870
								
							
						
					
					
						commit
						3ab87517da
					
				
					 2 changed files with 33 additions and 21 deletions
				
			
		
							
								
								
									
										47
									
								
								sketch.js
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								sketch.js
									
									
									
									
									
								
							|  | @ -14,7 +14,7 @@ let hit = false; | ||||||
| let hitTile = false; | let hitTile = false; | ||||||
| let tileX; | let tileX; | ||||||
| let tileY; | let tileY; | ||||||
| let ballSpeed = 12; | let ballSpeed = 15; | ||||||
| let turn = 0; | let turn = 0; | ||||||
| let button; | let button; | ||||||
| let score = 0; | let score = 0; | ||||||
|  | @ -77,31 +77,45 @@ function draw() { | ||||||
|       tileY = grid[i][j].y |       tileY = grid[i][j].y | ||||||
|       hitTile = collideRectCircle(tileX, tileY, width / 13, width / 64, ballX, ballY, width / 64); |       hitTile = collideRectCircle(tileX, tileY, width / 13, width / 64, ballX, ballY, width / 64); | ||||||
|       if (hitTile === true) { |       if (hitTile === true) { | ||||||
|         // vec = createVector(random(-1, 1), random(0, 4));
 |         vec = createVector(random(-1, 1), random(0, 4)); | ||||||
|         // vec.normalize();
 |         vec.normalize(); | ||||||
|         grid[i][j].hit = true; |         ballSpeedX = vec.x * ballSpeed; | ||||||
|         ballSpeedX *= -1; |         ballSpeedY = vec.y * ballSpeed; | ||||||
|         ballSpeedY *= -1; |         // ballSpeedX *= -1;
 | ||||||
|  |         // ballSpeedY *= -1;
 | ||||||
|  |         grid[i].splice(j, 1) | ||||||
| 
 | 
 | ||||||
|         //ADDING SCORE WHEN BALL HITS TILES
 |         //ADDING SCORE WHEN BALL HITS TILES
 | ||||||
| 
 | 
 | ||||||
|         if (j >= 0 && j <= 6) { |         if (j >= 0 && j <= 6) { | ||||||
|           score += 6 - j |           score += 6 - j | ||||||
|         } |         } | ||||||
| 
 |         break; | ||||||
|       } |       } | ||||||
|       grid[i][j].deleteOnHit() // DELETES THE TILE ON HIT
 |  | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // BALL COLLISION FOR PADDLE
 |  | ||||||
| 
 | 
 | ||||||
|   hit = collideRectCircle(mouseX, paddleY, width / 12, height / 64, ballX, ballY, width / 64); |   // BALL COLLISION FOR LEFT AND RIGHT PADDLE
 | ||||||
|   if (hit === true) { | 
 | ||||||
|  |   hitLeft = collideRectCircle(mouseX, paddleY, width / 24, height / 64, ballX, ballY, width / 64); | ||||||
|  |   if (hitLeft === true) { | ||||||
|     vec = createVector(random(-1, 1), random(0, 4)); |     vec = createVector(random(-1, 1), random(0, 4)); | ||||||
|     vec.normalize(); |     vec.normalize(); | ||||||
|  |     vec.setHeading(45) | ||||||
|     ballSpeedX = vec.x * -ballSpeed; |     ballSpeedX = vec.x * -ballSpeed; | ||||||
|     ballSpeedY = vec.y * -ballSpeed; |     ballSpeedY = vec.y * -ballSpeed; | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   hitRight = collideRectCircle(mouseX + width / 24, paddleY, width / 16, height / 64, ballX, ballY, width / 64); | ||||||
|  |   if (hitRight === true) { | ||||||
|  |     vec = createVector(random(-1, 1), random(0, 4)); | ||||||
|  |     vec.normalize(); | ||||||
|  |     vec.setHeading(90) | ||||||
|  |     ballSpeedX = vec.x * -ballSpeed; | ||||||
|  |     ballSpeedY = vec.y * -ballSpeed; | ||||||
|  |      | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -115,9 +129,14 @@ function draw() { | ||||||
|   //   paddleX += 10
 |   //   paddleX += 10
 | ||||||
|   // };
 |   // };
 | ||||||
|   // rectMode(CENTER)
 |   // rectMode(CENTER)
 | ||||||
|  |   push() | ||||||
|  |   noStroke() | ||||||
|   fill(255); |   fill(255); | ||||||
|   rect(mouseX, paddleY, width / 12, height / 64); |   rect(mouseX, paddleY, width / 24, height / 64); //Left Paddle
 | ||||||
|  |   rect(mouseX + width / 24, paddleY, width / 24, height / 64); //Right Paddle
 | ||||||
|   rectMode(CORNER) |   rectMode(CORNER) | ||||||
|  |   pop() | ||||||
|  |    | ||||||
| 
 | 
 | ||||||
|   // SCORE KEEPING
 |   // SCORE KEEPING
 | ||||||
| 
 | 
 | ||||||
|  | @ -126,9 +145,9 @@ function draw() { | ||||||
| 
 | 
 | ||||||
|   // WIN CONDITION
 |   // WIN CONDITION
 | ||||||
| 
 | 
 | ||||||
|   if (level === 1 && grid.length === 0) { |   if (level === 1 && grid.every(row => row.length == 0)) { | ||||||
|     winGame() |     winGame() | ||||||
|   } else if  (grid.length === 0) { |   } else if  (grid.every(row => row.length == 0)) { | ||||||
|     lostGame() |     lostGame() | ||||||
|     level++ |     level++ | ||||||
|   } |   } | ||||||
|  |  | ||||||
							
								
								
									
										7
									
								
								tile.js
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								tile.js
									
									
									
									
									
								
							|  | @ -8,7 +8,6 @@ class Tile { | ||||||
|         this.colors = colors |         this.colors = colors | ||||||
|         this.x = i * width / 13; |         this.x = i * width / 13; | ||||||
|         this.y = j * width / 64; |         this.y = j * width / 64; | ||||||
|         this.hit = false; |  | ||||||
|         this.score = score |         this.score = score | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -22,10 +21,4 @@ class Tile { | ||||||
|         this.colors = colors |         this.colors = colors | ||||||
|         return colors; |         return colors; | ||||||
|     } |     } | ||||||
| 
 |  | ||||||
|     deleteOnHit() { |  | ||||||
|         if (this.hit) { |  | ||||||
|             grid[this.i].splice(this.j, 1) |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } | } | ||||||
		Loading…
	
		Reference in a new issue