Unit 2.2 Choice 1 is scissors error


#1

unit 2.2 Choice 1 is scissors error

Hi all, my code is showing an error, can anyone see what I am doing wrong?


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=== "scissors") {
         return "scissors wins";   
        }
        else {return "paper wins";}
        }
}
    else if (choice1==="scissors") {
    if (choice2=== "paper") {
    return "scissors wins";   
    }
    else {
    return "rock wins";
    }
    }
}
console.log (var compare(userChoice, computerChoice));


#2

look at this code:

    else if (choice1=== "paper") {
        if (choice2=== "scissors") {
         return "scissors wins";   
        }
        else {return "paper wins";}
        }
}

the last closing curly bracket (}) closes the function, which is a bit to earlier

Also, when calling functions don't use a var keyword


#3

Hi, I changed my code to 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=== "scissors") {
     return "scissors wins";   
    }
    else {return "paper wins";}
    }

}
else if (choice1==="scissors") {
if (choice2=== "paper") {
return "scissors wins";
}
else {
return "rock wins";
}
}
console.log (compare(userChoice, computerChoice));
}


like you said,
But it is still no good...


#4

no, your function still ends way too earlier, take another good look (you should have removed the one i pointed to in my first answer)

There should be no } after the function call


#5

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