Rock, Paper, Scissors- undefined?


#1

Hello there,

Everything with my game seems to be fine (prompts user to answer, shows computer answer and final output), but I'm unable to submit. The message that appears is (based on the user's answer): "Your code returned 'scissors wins' instead of 'undefined' when the inputs are scissors and rock". I'm not sure what I'm doing wrong.

Here's my 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 ("scissors wins");
}
else {
    return ("scissors wins");
}
}

};

compare (userChoice,computerChoice)


#3

If you find your error please choose one of the following:

  • delete the topic if there is nothing interesting
  • post what was the problem so that others that run into the same or a similar error can learn from it.

thank you