Your code returned 'paper wins' instead of 'scissors wins' when the inputs are paper and scissors


#1

What's wrong with my code? I can't figure it out. it says it would return paper wins instead of scissors wins but it shouldnt with the way i coded it.

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


};

EDIT Here is the correct code! EDIT

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 "scissors wins";
}
}

};


#2

Nevermind, figured it out. forgot a {}. thanks


#3

Would be great if you could then either delete the post or explain the solution. So that people reading this later don't get frustrated.