What if choice1 is scissors?


#1

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

I think I have my code fine but it still gives my "unexpexted token else" not sure what to do plz help

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



compare (userChoice,computerChoice)


#2

@moltenminer,
Do not use a semi-colon-; on your IF ELSE-IF statement structure !!
A semi-colon-; is interpreted as an End-of-Statement indicator....

ALSO

have a close look at an ELSE-IF IF ELSE code block....

else if (choice1 === "") {
       if (choice2 === "") {
           return ".... wins"
       }
       else {
           return ".... wins"
       }
}

Please read
http://www.codecademy.com/forum_questions/559dcb4be39efe550f00006b
and concentrate on:

  • the creation of the compare function
  • the truth-table
  • the build of the IF ELSE-IF statement structure as part of the compare FUNCTION-BODY
  • the execution of the compare function (keeping in mind that the return statement is used )

#3

I still can't figure it out


#4

@moltenminer,
Display the FULL code you are using.....


#5

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

compare (userChoice,computerChoice);


#6

I keep getting "unexpected token else" and I'm not sure what that means or how I fix it


#7

@moltenminer,

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";
        }
    }
//};  <==== this closes the compare-function and 
//          and is cause of =unexpected ELSE=

    else if(choice1 === "scissors") {
         if (choice2 === "paper") {
             return "scissors wins"
         }
         else {
             return "rock wins"
         }
    }  //;do not use  use a semi-colon-; on your IF ELSE-IF statement structure !!
}; //close compare function