What if choice1 is scissors? I'm going nuts!


#1


https://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/1/4?curriculum_id=506324b3a7dffd00020bf661#


on line 17, on the "else if" argument error says: "Expected an identifier and instead saw 'else'. Missing ";" before statement. and over all error says: "Oops, try again. There was a problem with your syntax."


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


console.log(userChoice, computerChoice);


#2

This is hard to follow. Your link connects to code that passes its requirements with some warnings about ending if statements with semicolons. Also, your code above doesn't look the same as your editor code.

Can you confirm that you're still having issues?


#3

Hi. Thanks for reply. Yes, I'm still stuck. Until some one helps me, I can't move on.
By the way, this code is exactly the same as my editors. I only copy/paste the code.


#4

I fixed it! the problem was a curly too many after the COMPARE function that pushed all the other functions outside of it. I deleted the curly from that place and put it at the end of all functions before calling "console.log(compare(userChoice, computerChoice));"

Here is the code that finally 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 win";}  
  }
  
  else if (choice1 === "scissors") {
      if (choice2 === "paper") {
        return "scissors win"; }
      else {
         return "rock wins";}
}         
};

console.log(compare(userChoice, computerChoice))

#5

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