I need a litte help with the "paper, rock, scissors" game!


#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 "scissors wins";
}
}
}
}
can any one tell me what's wrong with this piece of code :smile: !


#2

C'mon help me guys :smile:


#3

@methodpro98760,

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 )
    //==========================================//

#4
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";
    }
}

}
You didn't close the second else if statement in the compare function.