Code works in console, error appears


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



Please read
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 )


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