Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 31 additions & 26 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
const guessInput = document.getElementById('guess');
const submitButton = document.getElementById('submit');
const resetButton = document.getElementById('reset');
const messages = document.getElementsByClassName('message');
const tooHighMessage = document.getElementById('too-high');
const tooLowMessage = document.getElementById('too-low');
const maxGuessesMessage = document.getElementById('max-guesses');
const numberOfGuessesMessage = document.getElementById('number-of-guesses');
const correctMessage = document.getElementById('correct');
const guessInput = document.getElementById("guess");
const submitButton = document.getElementById("submit");
const resetButton = document.getElementById("reset");
const messages = document.getElementsByClassName("message");
const tooHighMessage = document.getElementById("too-high");
const tooLowMessage = document.getElementById("too-low");
const maxGuessesMessage = document.getElementById("max-guesses");
const numberOfGuessesMessage = document.getElementById("number-of-guesses");
const correctMessage = document.getElementById("correct");

let targetNumber;
let attempts = 0;
const maxNumberOfAttempts = 5;
let maxNumberOfAttempts = 5; //max number of attempts was const instead of let while the value of the variable was changed to 0 which caused an error bug#3

// Returns a random number from min (inclusive) to max (exclusive)
// Usage:
Expand All @@ -30,61 +30,66 @@ function checkGuess() {
hideAllMessages();

if (guess === targetNumber) {
numberOfGuessesMessage.style.display = '';
numberOfGuessesMessage.style.display = "";
numberOfGuessesMessage.innerHTML = `You made ${attempts} guesses`;

correctMessage.style.display = '';
correctMessage.style.display = "";

submitButton.disabled = true;
guessInput.disabled = true;
}

if (guess !== targetNumber) {
if (guess < targetNumber) {
tooLowMessage.style.display = '';
tooLowMessage.style.display = "";
} else {
tooLowMessage.style.display = '';
tooHighMessage.style.display = ""; //bug#6 the variabla used was tooLowMessage instead tooHighMessage
}

const remainingAttempts = maxNumberOfAttempts - attempts;

numberOfGuessesMessage.style.display = '';
numberOfGuessesMessage.style.display = "";
numberOfGuessesMessage.innerHTML = `You guessed ${guess}. <br> ${remainingAttempts} guesses remaining`;
}

if (attempts ==== maxNumberOfAttempts) {
if (attempts === maxNumberOfAttempts) {
//bug#1 it had 4 equal signs instead of 3
submitButton.disabled = true;
guessInput.disabled = true;
}

guessInput.value = '';
guessInput.value = "";

resetButton.style.display = '';
resetButton.style.display = "";
}

function hideAllMessages() {
for (let elementIndex = 0; elementIndex <= messages.length; elementIndex++) {
messages[elementIndex].style.display = 'none';
//bug #4 it was looping beyond the length of the array causing it to be undefined. changed the <= sign to <
for (let elementIndex = 0; elementIndex < messages.length; elementIndex++) {
messages[elementIndex].style.display = "none";
}
}

funtion setup() {
function setup() {
//missing c in function bug #2
// Get random number
targetNumber = getRandomNumber(1, 100);
console.log(`target number: ${targetNumber}`);

// Reset number of attempts
maxNumberOfAttempts = 0;
//bug#8 attempts was never reset to 0 so the counter kept going up. Added the attempts to setup function to reset value to 0.
attempts = 0;
maxNumberOfAttempts = 5; //bug#7 the value of remaining attempts was going to the negative. the game needs this to be 5.

// Enable the input and submit button
submitButton.disabeld = false;
submitButton.disabled = false; //Button misspelled as disabeld causing the button not to reset when hitting reset button bug#5
guessInput.disabled = false;

hideAllMessages();
resetButton.style.display = 'none';
resetButton.style.display = "none";
}

submitButton.addEventListener('click', checkGuess);
resetButton.addEventListener('click', setup);
submitButton.addEventListener("click", checkGuess);
resetButton.addEventListener("click", setup);

setup();