Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Basics (Retired) Making Decisions with Conditional Statements Improving the Random Number Guessing Game

What is wrong with my code?

Could you check what is wrong with my code? All of the second question answers says that you guessed the correct answer.

Here is my code:

var correctGuess = false var randomNumber = Math.floor(Math.random() * 6 ) +1; var guess = prompt("Im thinking of a number between 1 and 6"); if (parseInt(guess) === randomNumber ){ correctGuess = true; } else if ( parseInt(guess) < randomNumber ) { var guessMore = prompt('Try again. The number I am think of is moer than ' + guess); if (parseInt(guessMore) === randomNumber) { correctGuess = true; } } else if ( parseInt(guess) > randomNumber ) { var guessLess = prompt('Try again. brah. The number is actually lower than' + guess); if (parseInt(guessLess) === randomNumber ){ correctGuess = true; } } if (correctGuess = true) { document.write('You guessed the number!');

} else { document.write('Sorry. The number was ' + randomNumber); }

Steven Parker
Steven Parker
228,001 Points

To properly display posted code, always use the instructions for code formatting in the Markdown Cheatsheet pop-up below the "Add an Answer" area. :arrow_heading_down:   Or watch this video on code formatting.

2 Answers

Steven Parker
Steven Parker
228,001 Points

Your final test contains an assignment instead of a comparison:

if (correctGuess = true) { 

So instead of testing if correctGuess is true, it makes it true. So the 2nd try will always seem to be right.

Also, when testing a boolean value, you don't even need a comparison expression, just name the term:

if (correctGuess) {

Great, thanks for the help.