diff --git a/js/map.js b/js/map.js index 13874a5..30b971f 100644 --- a/js/map.js +++ b/js/map.js @@ -87,6 +87,9 @@ let gameTime = 0 let gameMinute = 0 let gameSecond = 0 let gamePenalty = 0 +let gameTimeWithPenalty = 0 +let gameMinuteWithPenalty = 0 +let gameSecondWithPenalty = 0 let intervalId /** @@ -115,6 +118,7 @@ function resetGame() { intervalId = null gameTime = 0 gamePenalty = 0 + gameTimeWithPenalty = 0 } /** @@ -176,13 +180,17 @@ function communeObserver(){ if (!intervalId) { intervalId = setInterval(() => { gameTime++ + gameTimeWithPenalty = gameTime + gamePenalty - if (gameTime >= 60) { + if (gameTimeWithPenalty >= 60) { + gameMinuteWithPenalty = String(gameTimeWithPenalty / 60).split('.')[0] gameMinute = String(gameTime / 60).split('.')[0] + + gameSecondWithPenalty = gameTimeWithPenalty % 60 gameSecond = gameTime % 60 - timeElement.innerText = `${gameMinute} minute${gameMinute > 1 ? 's' : ''} ${gameSecond} seconde${gameSecond > 1 ? 's' : ''}` + timeElement.innerText = `${gameMinuteWithPenalty} minute${gameMinuteWithPenalty > 1 ? 's' : ''} ${gameSecondWithPenalty} seconde${gameSecondWithPenalty > 1 ? 's' : ''}` } else { - timeElement.innerText = `${gameTime} seconde${gameTime > 1 ? 's' : ''}` + timeElement.innerText = `${gameTimeWithPenalty} seconde${gameTimeWithPenalty > 1 ? 's' : ''}` } }, 1000) } @@ -261,7 +269,6 @@ function updateScore(isCorrect) { ok.innerText = Number.parseInt(ok.innerText, 10) + 1 } else { ko.innerText = Number.parseInt(ko.innerText, 10) + 1 - gameTime += 5 gamePenalty += 5 penaltyElement.style.opacity = 1 @@ -497,16 +504,23 @@ function loadMap() { const percentageCorrectAnswers = (Number.parseInt(ok.innerText, 10) / totalAnswers) * 100 let elapsedTime = `${gameTime} seconde${gameTime > 1 ? 's' : ''}` + let elapsedTimeWithPenalty = `${gameTimeWithPenalty} seconde${gameTimeWithPenalty > 1 ? 's' : ''}` if (gameTime >= 60) { elapsedTime = `${gameMinute} minute${gameMinute > 1 ? 's' : ''} ${gameSecond} seconde${gameSecond > 1 ? 's' : ''}` } + if (gameTimeWithPenalty >= 60) { + elapsedTimeWithPenalty = `${gameMinuteWithPenalty} minute${gameMinuteWithPenalty > 1 ? 's' : ''} ${gameSecondWithPenalty} seconde${gameSecondWithPenalty > 1 ? 's' : ''}` + } + alert(`${Math.round(percentageCorrectAnswers)}% de bonnes réponses ! \nTemps écoulé : ${elapsedTime} ! ${gamePenalty ? ` - \nPénalité : ${gamePenalty} secondes` : ''}`) + \nPénalité : ${gamePenalty} secondes` : '\nAucune pénalité !'} + \nTemps total : ${elapsedTimeWithPenalty}`) clearInterval(intervalId) gameTime = 0 + gameTimeWithPenalty = 0 setTimeout(() => { location.reload()