Первая функция содержит вход, а вторая имеет логику /else. Я сначала вызываю вторую функцию внутри, но инструкции if/else, похоже, не работают.
var choice = function(){
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);
compare(userChoice, 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 "scissors wins";
}
}
else{
return "invalid input";
}
};
choice();
Это работает хорошо.
compare(userChoice, computerChoice)
возвращает соответствующий результат.
Однако вы не отобразили его. Поэтому отобразите его с помощью alert()
и т. Д.:
alert(compare(userChoice, computerChoice));
compare()
возвращает строку, которую вы никоим образом не используете. Если вы хотите, чтобы пользователь увидел результат, попробуйтеalert(compare(userChoice, computerChoice));
,