diff --git a/index.js b/index.js index 4c2a94e..3d285bb 100644 --- a/index.js +++ b/index.js @@ -25,34 +25,38 @@ function getRandomNumber(min, max) { function checkGuess() { // Get value from guess input element const guess = parseInt(guessInput.value, 10); + + if (Number.isNaN(guess) || guess < 1 || guess > 99) { + return; + } + attempts = attempts + 1; hideAllMessages(); - if (guess === targetNumber) { - numberOfGuessesMessage.style.display = ''; - numberOfGuessesMessage.innerHTML = `You made ${attempts} guesses`; + const remainingAttempts = maxNumberOfAttempts - attempts; + const guessWord = remainingAttempts === 1 ? 'guess' : 'guesses'; + + numberOfGuessesMessage.style.display = ''; + numberOfGuessesMessage.innerHTML = `You guessed ${guess}.
${remainingAttempts} ${guessWord} remaining`; + if (guess === targetNumber) { correctMessage.style.display = ''; submitButton.disabled = true; guessInput.disabled = true; - } - - if (guess !== targetNumber) { + } else { if (guess < targetNumber) { tooLowMessage.style.display = ''; } else { - tooLowMessage.style.display = ''; + tooHighMessage.style.display = ''; } - - const remainingAttempts = maxNumberOfAttempts - attempts; - - numberOfGuessesMessage.style.display = ''; - numberOfGuessesMessage.innerHTML = `You guessed ${guess}.
${remainingAttempts} guesses remaining`; } - if (attempts ==== maxNumberOfAttempts) { + if (guess !== targetNumber && attempts === maxNumberOfAttempts) { + hideAllMessages(); + maxGuessesMessage.style.display = ''; + maxGuessesMessage.textContent = '0 guesses remaining'; submitButton.disabled = true; guessInput.disabled = true; } @@ -63,22 +67,23 @@ function checkGuess() { } function hideAllMessages() { - for (let elementIndex = 0; elementIndex <= messages.length; elementIndex++) { + for (let elementIndex = 0; elementIndex < messages.length; elementIndex++) { messages[elementIndex].style.display = 'none'; } } -funtion setup() { +function setup() { // Get random number targetNumber = getRandomNumber(1, 100); console.log(`target number: ${targetNumber}`); // Reset number of attempts - maxNumberOfAttempts = 0; + attempts = 0; // Enable the input and submit button - submitButton.disabeld = false; + submitButton.disabled = false; guessInput.disabled = false; + guessInput.value = ''; hideAllMessages(); resetButton.style.display = 'none'; @@ -87,4 +92,4 @@ funtion setup() { submitButton.addEventListener('click', checkGuess); resetButton.addEventListener('click', setup); -setup(); +setup(); \ No newline at end of file