For the love of everything help me please



exercise 8

not working getting undefined result when I use paper or scissor , works fine with the rock but it doesnt with the others

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


You will have to create an IF ELSE-IF( if else ) ELSE-IF(if else)

Please read
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 )


This is almost entirely correct syntax for an if statement and an else statement inside of an else if statement. Use the hint given in the instructions. You are very close. Solve this part and correcting your following code will be easy.


thanks it was a nightmare but one worth living I learned more like this than with an easy answer, sometimes just knowing that you're in the right track is more than enough, thanks


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