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! While you're at it, check out some resources Treehouse students have shared here.

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

Abdullateef Almalouhi
Abdullateef Almalouhi
1,955 Points

Could somebody plz check my code.

Could somebody plz check my code. I keep on getting the message " Sorry, the number was..." even if the guess is correct

https://w.trhou.se/nujhw969qz

Thanks in advance

4 Answers

Steven Parker
Steven Parker
231,269 Points

You're checking the first answer again after the second question.

When you ask a second question, you put the answer in either guessMore or guessLess, but then when you go to test it you compare against guess (the first answer) again.

One way to fix it would be to re-use guess for the second answer.

Also please see the Markdown Cheatsheet link at the bottom of the "Add an Answer" section for instructions on how to format posted code. :arrow_heading_down: (A workspace "snapshot" is good too!)

Jon Speake
Jon Speake
3,466 Points

The new variables you have created for guessMore and guessLess should be included (instead of guess)

var correctGuess = false;
var randomNumber = Math.floor(Math.random() * 6 ) + 1;
var guess = prompt('I am thinking of a number between 1 and 6. What is it?');
if (parseInt(guess) === randomNumber ) {
  correctGuess = true;
} else if (parseInt(guess) < randomNumber) {
  var guessMore = prompt("Try Again. The number is bigger");
     if (parseInt(guess) === randomNumber) {
      correctGuess = true;
     }
}
   else if (guess > randomNumber) {
     var guessLess = prompt("Try Again, the number is smaller");
     if (parseInt(guess) === randomNumber) {
       correctGuess = true;
   }
   }
if ( correctGuess ) {
    document.write('<p>You guessed the number!</p>');
} else {
    document.write('<p>Sorry. The number was ' + randomNumber + '.</p>');
}
else if (guess > randomNumber) {
     var guessLess = prompt("Try Again, the number is smaller");
     if (parseInt(**guessLess**) === randomNumber) {
       correctGuess = true;
   }
Hoang Le
PLUS
Hoang Le
Courses Plus Student 1,274 Points

add parseInt and guessLess instead of less

  else if (parseInt(guess) > randomNumber) {
     var guessLess = prompt("Try Again, the number is smaller");
     if (parseInt(guessLess) === randomNumber) {
       correctGuess = true;
</p>

It appears you are mixing your double and single quotes also.