Need help - Lesson 8


#1


Lesson 8 - What if choice 1 is scissors?


Syntax Error: Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and paper


var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
	computerChoice = "rock";
} else if(computerChoice <= 0.67) {
	computerChoice = "paper";
} else {
	computerChoice = "scissors";
} console.log("Computer: " + computerChoice);

var compare =function (choice1,choice2)
{ 
    if(choice1===choice2)
    {
    return "The result is a tie!";
    }
    else if (choice1==="rock") 
    {
        if(choice2=== "scissors") 
        {
            return "rock wins";
        }
        else {
            return "paper wins";
        }
    }
  else if (choice1==="paper") 
  {
    if(choice2==="rock") {
        return "paper wins";
    }
    else {
        return "scissors wins";
    }
  }
  else if (choice1==="scissors")
  {
      if (choice2==="rock")
      {
          return "rock wins";
      }
      else {
          return "paper wins";
      }
  }
};
    compare(userChoice,computerChoice)


#2

this bit of code:

else if (choice1==="scissors")
  {
      if (choice2==="rock")
      {
          return "rock wins";
      }
      else {
          return "paper wins";
      }
  }

if your else runs, choice1 is scissors and choice2 is paper. How does paper beat scissors?


#3

I tried that code and it says:
SyntaxError: Unexpected token else
Here is my full code:

var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
	computerChoice = "rock";
} else if(computerChoice <= 0.67) {
	computerChoice = "paper";
} else {
	computerChoice = "scissors";
} console.log("Computer: " + computerChoice);
var compare = function (choice1, choice2){
    if (choice1 === choice2) {
        return "The result is a tie!";
    }
    else if(choice1 === "rock"){
        if(choice2 === "scissors"){
      return "rock wins"; 
        }
        else {
            return "paper wins";
}
}
else if(choice1==="paper"){
    if(choice2 ==="rock"){
    return "paper wins";
}
}
else {
    return "scissors wins";
}
else if (choice1==="scissors")
  {
      if (choice2==="rock")
      {
          return "rock wins";
      }
      else {
          return "paper wins";
      }
  }
};

#4

this bit of code:

else if(choice1==="paper"){
    if(choice2 ==="rock"){
    return "paper wins";
}
}
else {
    return "scissors wins";
}

you close the else if after if, instead of after else


#5

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.