New choices, no return


#1

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


When it's a tie, i've set it up to prompt for another answer, to choose again, but after choosing, it only returns "Computer: (whatever it chose)". It works fine if it doesn't end up as a tie, it shows who wins. I had it working for tie before too, but then I replaced the return with prompt for another answer. Is there something I'm missing?

In short, the first choice shows who wins, but when rechoosing the second time after a tie, it doesn't.


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) {
        prompt("It's a tie! Choose again!");
    }
    
    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 "scissors wins";
        }
    }
};

compare(userChoice, computerChoice);


#2

well, you want to compare the choices again, so you will need to call compare() again. And yes, you can all function inside a function

also, maybe give the computer a new choice? Otherwise, it will stay with what it picked in the beginning


#3

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