What if choice1 is scissors? input is undefined


#1



https://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/1/4?curriculum_id=506324b3a7dffd00020bf661#


My code seems to run correctly and display in the window whether the user wins or loses accurately, but I keep getting the error report
"Oops, try again. Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and paper."

Can anyone tell me where I am messing up in my code? Thank you for the help.


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

@tsieg144,
It is as the Oops-message is stating....
Who wins,
if choice1 === "scissors" and choice2=== "paper" ????

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 )