Code works in console, error appears


#1

Hello, everyone! I finished the Rock, paper, scissors game, the code works in the console, but I get this message each time I run it: Oops, try again. Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and rock (regardless of what the input value is).
I've run the code through a debugger, found no errors. No sure what I can do. Thoughts?

This is the code I use

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 (choice2 === "scissors")
{return "scissors wins";}
else
{return "paper wins";}
}
};
compare (userChoice, computerChoice);


#2

@opry29,

Please read
http://www.codecademy.com/forum_questions/559dcb4be39efe550f00006b
and concentrate on:

  • the creation of the compare function
  • the truth-table
  • the build of the IF ELSE-IF statement structure as part of the compare FUNCTION-BODY
  • the execution of the compare function (keeping in mind that the return statement is used )

#3

Fixed it! I had mixed the values in the last if/else. Thanks for the link, it was very useful, especially the truth table.