Rock, Paper, Scissors "What if choice1 is scissors?"


#1

Whyyyyyyy?!

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

"Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and paper"


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


#2

If this is the second to last exercise, then the final case is not yet expected. Either remove it or comment it out, submit and proceed. The next lesson will cover this case.


#3

I had to change some code, and I commented the last part out, but I'm still not sure what's up...

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 === "paper") {
return "scissors wins"}
else {
return "rock wins"}
}
}
//compare("userChoice", "computerChoice");

**Error Code: Make sure to call your compare function with userChoice and computerChoice as the arguments!


#4

Since userChoice and computerChoice are variables, they should not be in quotes. That makes them string literals.


#5

YAS! Thank youuuuuu :relieved:


#6

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