Whats wrong in this i am stuck it returns correctly but cant move to next steps?


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

var compare = function(userChoice, computerChoice) {
    if (userChoice === computerChoice) {
        return "The result is a tie!";
    } else if (userChoice === "rock") {
        if (computerChoice === "scissors") {
            return "rock wins";
        } else {
            return "paper wins";
        }
    } else if (userChoice === "paper") {
        if (computerChoice === "rock") {
            return "paper wins";
        } else {
            return "scissors wins";
        }
    } else if (userChoice === "scissors") {
        if (computerChoice === "rock") {
            return "rock wins";
        } else {
            return "scissor wins";
        }
    }
}


#2

@venkatesh.m,
You should be defining the compare function using the parameter's choice1 and choice2
instead of you using computerChoice and userChoice

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

Assuming exercise number is 8, there are two errors you get:

  1. "Your code returned 'scissor wins' instead of 'scissors wins' when the inputs are scissors and paper"
  2. And after fixing 1st error, "Make sure to call your compare function with userChoice and computerChoice as the arguments!"

Please learn to read errors and debug your code accordingly. Reply if you are unable to fix your code.