Snake can accelerate
This commit is contained in:
		@@ -1,4 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    "minDelay": 100,
 | 
				
			||||||
 | 
					    "acceleration": 1,
 | 
				
			||||||
    "dimensions": [40, 40],
 | 
					    "dimensions": [40, 40],
 | 
				
			||||||
    "delay": 200,
 | 
					    "delay": 200,
 | 
				
			||||||
    "walls": [
 | 
					    "walls": [
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								script.js
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								script.js
									
									
									
									
									
								
							@@ -134,12 +134,13 @@ async function startGame(gameID) {
 | 
				
			|||||||
     * I placed this function here to inherit
 | 
					     * I placed this function here to inherit
 | 
				
			||||||
     * the map, snake, canvas & ctx variables...
 | 
					     * the map, snake, canvas & ctx variables...
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    let interval = setInterval(() => step(), level.delay);
 | 
					    let currDelay = level.delay;
 | 
				
			||||||
 | 
					    setTimeout(() => step(), currDelay);
 | 
				
			||||||
    function step() {
 | 
					    function step() {
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        // Check if a game was destroyed
 | 
					        // Check if a game was destroyed
 | 
				
			||||||
        if(!canvas.isConnected)
 | 
					        if(!canvas.isConnected)
 | 
				
			||||||
            clearInterval(interval)
 | 
					            return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Move the snake if required
 | 
					        // Move the snake if required
 | 
				
			||||||
        if(key) {
 | 
					        if(key) {
 | 
				
			||||||
@@ -261,13 +262,18 @@ async function startGame(gameID) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if(level.hasOwnProperty("acceleration"))
 | 
				
			||||||
 | 
					            currDelay -= level.acceleration;
 | 
				
			||||||
 | 
					        if(level.hasOwnProperty("minDelay") && currDelay <= level.minDelay)
 | 
				
			||||||
 | 
					            currDelay = level.minDelay
 | 
				
			||||||
 | 
					        setTimeout(() => step(), currDelay);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Call this function once the user loose the game
 | 
					     * Call this function once the user loose the game
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    function gameOver() {
 | 
					    function gameOver() {
 | 
				
			||||||
        clearInterval(interval);
 | 
					 | 
				
			||||||
        alert("Game over !!!");
 | 
					        alert("Game over !!!");
 | 
				
			||||||
        location.href = "#";
 | 
					        location.href = "#";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user