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