What if choice1 = scissors? error


#1


Gives error code "Oops, try again. Your code returned 'rock wins' instead of 'undefined' when the inputs are scissors and paper"


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


#2

Where is your else if condition for "scissors"?


#3

@ajaxmaster91328,
In the IF of your last ELSE you are using an assignment operator =
instead of the comparison operator === in the condition

As a help....all should be true

    console.log("choice1 && choice2  argument's are equal");
    console.log("1 "+ (compare("paper","paper")==="The result is a tie!"));
    console.log("2 "+ (compare("rock","rock")==="The result is a tie!"));
    console.log("3 "+ (compare("scissors","scissors")==="The result is a tie!"));
    
    console.log("choice1 argument 'paper'");
    console.log("4 "+ (compare("paper","rock")==="paper wins"));
    console.log("5 "+ (compare("paper","scissors")==="scissors wins"));
    
    console.log("choice1 argument 'rock'");
    console.log("6 "+ (compare("rock","paper")==="paper wins"));
    console.log("7 "+ (compare("rock","scissors")==="rock wins"));
    
    console.log("choice1 argument 'scissors'");
    console.log("8 "+ (compare("scissors","paper")==="scissors wins"));
    console.log("9 "+ (compare("scissors","rock")==="rock wins"));

#4

@biff75,
He doesn't need an ELSE-IF
as the only possibility left is choice1 being "scissors".....


#5

Thank you for the help!


#6

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