What if Choice1 is scissors?


#1

Build Rock Paper Scissors Lesson 8:
https://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/1/4?curriculum_id=506324b3a7dffd00020bf661#

So I'm not sure if I have followed the instructions correctly. But here's the full instructions:

  • Under your old code, use the same structure as the past two exercises and finish off your function.
  • We need to use the variables userChoice and computerChoice. Uncomment the first lines of the code by deleting /* on line 1 and */ on line 9, the variables are now active and can be called.
  • Call your function and pass in userChoice and computerChoice as your two arguments.

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

if (choice2 === "rock") {
return "rock wins";
}

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

};

compare(userChoice, computerChoice);

Errors:

There was a problem with your syntax

SyntaxError: Illegal return statement


#2

@caprice02
There's a problem with your else if structure:

If choice2==="paper", we must return "paper win". Add a else statement following your if statement that will return this.

If choice2==="scissors", we must return "scissors win". Add a else statement following your if statement that will return this.

Remove these else statement.

Remove this if-else if statement.

Add a else statement that will test if choice1==="paper". Than if choice2==="rock", we return paper wins. Else, we return scissors win.

Your compare function should look like this:

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 win";
  }    
}
else {
if (choice2==="rock") {
      return "Rock wins";
}else {
      return "Scissors win";
}
}