Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and rock


#1


What if choice1 is scissors


I keep getting this error code: "Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and rock"

Can anyone tell me why?


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 
        {"scissors wins"}
  } else if (choice1 === "scissors") {

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

compare(userChoice, computerChoice);


#2

Comment this segment so the function returns undefined

/*
else if (choice1 === "scissors") {

        if (choice2 === "rock") {
            return "rock wins";
        }
        else {
            return "scissors wins";
        }
  }
*/

#3

Sadly, I am still getting the same error after having commented out that section.


#4

@joshtoudy

Have a close look at your COMPARISON

else if (choice1 = "paper")


#5

Ah! Many thanks! The devil was in the detail. === rather than =.
Hopefully one day I can pay it forward : )


#6

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