7. choice1 is paper


#1

got the info that Your code returned 'paper wins' instead of 'scissors wins' when the inputs are paper and scissors
what am I misssing?

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"

}
};


Lesson 7: What if choice1 is paper?
#2

this line:

if (choice2 === "rock") ;{
`
the semi-colon in this line prevents the if clause from working properly, remove the semi-colon.


#4

just a tip you want to structure your code better to make it easier to identify mistakes.

Here is an example of my code that worked:

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


#5

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