Rock Paper Scissors working but throwing an error (the usual)


#1

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

The game works. I've run it many times and the output always displays as expected. However, I keep getting the error box that says "Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and paper." Every time.


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);
console.log("User: " + userChoice);

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 "paper wins";
        }
    };
};
compare (userChoice, computerChoice);


#2

 else if (choice1 === "scissors") {
        if (choice2 === "rock") {
            return "rock wins";
        } else {
            return "paper wins";
        }
    };

who will win when inputs are scissors and paper?


#3

Aye yi yi. I was so busy looking for actual programming errors that I forgot that the tutorial has extra code looking for logical errors. That fixed it - thanks!


#4

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