Syntax Error on rock paper scissors


#1


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);

compare(userChoice, 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";
        }    
    }
}
console.log(compare(choice1, choice2));


#2

HI this line remove the ;

var compare = function(choice1, choice2); <-- #this one

#3

At first do what @wizmarco said and

console.log(compare(choice1, choice2));  // wrong

console.log(compare(userChoice, computerChoice)); //right

why wrong?
because choice1 and choice2 both are parameter.you can't use these out of the function.you have to put real value in these.

functionName(parameter1, parameter2, parameter3) {
code to be executed
}

Function parameters are the names listed in the function definition.Function arguments are the real values passed to (and received by) the function.

and you called the function twice.you don't need :slight_smile:


#4

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