From b052fe7f635c660ea772e2bcf312490040b94f23 Mon Sep 17 00:00:00 2001 From: Pierre Hubert Date: Wed, 25 Mar 2020 16:10:51 +0100 Subject: [PATCH] Can win game --- assets/win.mp3 | Bin 0 -> 15816 bytes script.js | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 assets/win.mp3 diff --git a/assets/win.mp3 b/assets/win.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d60934aad70666075756ec69b15cf27fff0e12fa GIT binary patch literal 15816 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 */ let map = []; let snake = []; let score = 0; @@ -216,6 +217,17 @@ async function startGame(gameID) { map[oldPos[0]][oldPos[1]] = EMPTY } + // Check if the user has won + // Note : The user win the game if there is no food left + // So we search for a line in the map where there is food + // If none is found, it means that the user has won the game + // + // Optimization : We do it only if the user has just increazed its + // size => the snake has eaten a piece of food + if(increaseSize && map.find((row) => row.find((el) => el == FOOD) != undefined) == undefined) { + winGame() + return; + } } @@ -281,6 +293,7 @@ async function startGame(gameID) { } } + // Manage automated acceleration of snake if(level.hasOwnProperty("acceleration")) @@ -301,6 +314,16 @@ async function startGame(gameID) { location.href = "#"; } + /** + * Call this function when the user win the game + */ + function winGame() { + audioEl.pause(); + playAudio("assets/win.mp3"); + alert("You win !!!"); + location.href = "#"; + } + // Listen for key press events document.body.addEventListener("keydown", (ev) => { if(["ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp"].includes(ev.key))