What if choice1 is scissors? Doesn't return the result


#1


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


var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < .33) {
	computerChoice = "rock";
} else if(computerChoice < .67) {
	computerChoice = "paper";
} else {
	computerChoice = "scissors";
} console.log("Computer: " + computerChoice);
var compare = function(choice1, choice2) {
    if (choice1 === choice2) {
        return("The result is a tie!");
    }
    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");
    }
    if (choice1 === "scissors") {
        if (choice2 === "rock") {
            return ("rock wins");
        } else {
            return ("scissors wins");
        }
    }
    

}
}
compare(userChoice, computerChoice);


#2

With "choice1 === scissors" it does not return the result. Only computer choice.
What's wrong?


#3

this condition:

if (choice1 === "scissors")

is only reached when else if (choice1 === "paper") is true, but then choice1 is already paper, so that doesn't make sense.

checking the third and final option for choice1 should be after checking if choice1 is paper, not nested inside


#4

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