I don't know where I'm going wrong! What if choice1 is scissors?


#1



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


Hello lads,

First time posting here for help, I seem to have gotten through the exercise, but I don't know where I'm going wrong with the final application of my code. Take a look:


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 {
            return "scissors wins";
        }
};

compare (var userChoice, var computerChoice);

What am I doing wrong, I really want to understand the issue, not only get through the exercise.

Cheers!


#2

It should be compare(userChoice, computerChoice);. The var keyword is only used when you first make the variable.


#3

@lyageo
Your compare function definition is missing a closin-curly-bracket-} at the end....!!!!

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

  • the execution of the compare function (keeping in mind that the return statement is used )