From fb6b7abe1f07b3d9ac6ded051fc3b2fb171b9768 Mon Sep 17 00:00:00 2001 From: jeloercc Date: Tue, 3 Mar 2026 22:21:30 -0600 Subject: [PATCH 1/2] 8 bugs found and fixed --- index.js | 48 ++++++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/index.js b/index.js index 4c2a94e..2f41553 100644 --- a/index.js +++ b/index.js @@ -25,59 +25,71 @@ function getRandomNumber(min, max) { function checkGuess() { // Get value from guess input element const guess = parseInt(guessInput.value, 10); +// Strech goal Bug validate the guess is a number between 1 and 99 + if (guess < 1 || guess > 99 || isNaN(guess)) { + alert('Please enter a valid number between 1 and 99'); + return; +} attempts = attempts + 1; - hideAllMessages(); if (guess === targetNumber) { numberOfGuessesMessage.style.display = ''; numberOfGuessesMessage.innerHTML = `You made ${attempts} guesses`; - correctMessage.style.display = ''; - submitButton.disabled = true; guessInput.disabled = true; - } - - if (guess !== targetNumber) { +// Bug 1 fixed: changed second "if" to "else" so only one block runs,removed +// (guess !== targetNumber)" to just "else" since it's the only remaining possibility. + } else { if (guess < targetNumber) { tooLowMessage.style.display = ''; } else { - tooLowMessage.style.display = ''; +// Bug 2 fixed: changed "tooLowMessage" to "tooHighMessage". + tooHighMessage.style.display = ''; } const remainingAttempts = maxNumberOfAttempts - attempts; +// Strech goal Bug added pluralization for "guess" + let guessWord = (remainingAttempts === 1) ? 'guess' : 'guesses'; numberOfGuessesMessage.style.display = ''; - numberOfGuessesMessage.innerHTML = `You guessed ${guess}.
${remainingAttempts} guesses remaining`; - } + numberOfGuessesMessage.innerHTML = `You guessed ${guess}.
${remainingAttempts} ${guessWord} remaining`; - if (attempts ==== maxNumberOfAttempts) { +//3 Bug fixed the original code had a typo with "====" instead of "===". + if (attempts === maxNumberOfAttempts) { submitButton.disabled = true; guessInput.disabled = true; +//4 Bug fixed: added "maxGuessesMessage.style.display = ''" to show the "max guesses reached" message, +// when the player runs out of attempts. + maxGuessesMessage.style.display = ''; } - - guessInput.value = ''; +} + guessInput.value = '' resetButton.style.display = ''; } function hideAllMessages() { - for (let elementIndex = 0; elementIndex <= messages.length; elementIndex++) { +//5 bug fixed changed <= With <,when elementIndex reaches 5. + for (let elementIndex = 0; elementIndex < messages.length; elementIndex++) { messages[elementIndex].style.display = 'none'; } } - -funtion setup() { +//6 bug fixed changed "funtion" with function its the correct syntax +function setup() { // Get random number targetNumber = getRandomNumber(1, 100); console.log(`target number: ${targetNumber}`); // Reset number of attempts - maxNumberOfAttempts = 0; +//7 Bug fixed: changed "maxNumberOfAttempts = 0" to "attempts = 0" +// maxNumberOfAttempts is a const (cannot be changed) and should always be 5. + attempts = 0; // Enable the input and submit button - submitButton.disabeld = false; +//8 Bug fixed: "disabeld" was a spelling error, corrected to "disabled". + submitButton.disabled = false; guessInput.disabled = false; hideAllMessages(); @@ -87,4 +99,4 @@ funtion setup() { submitButton.addEventListener('click', checkGuess); resetButton.addEventListener('click', setup); -setup(); +setup(); \ No newline at end of file From 28858922ab27eb1f9ce09893217e975c9f37b17c Mon Sep 17 00:00:00 2001 From: jeloercc Date: Mon, 9 Mar 2026 11:33:36 -0500 Subject: [PATCH 2/2] final --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 2f41553..9db69db 100644 --- a/index.js +++ b/index.js @@ -35,7 +35,7 @@ function checkGuess() { if (guess === targetNumber) { numberOfGuessesMessage.style.display = ''; - numberOfGuessesMessage.innerHTML = `You made ${attempts} guesses`; + numberOfGuessesMessage.textContent = `You made ${attempts} guesses`; correctMessage.style.display = ''; submitButton.disabled = true; guessInput.disabled = true;