Я изучаю JS самостоятельно, используя codecademy.com, и одной задачей было сделать игру JS rock, paper, scissors. В конце он попросил некоторые улучшения, например, если бы это была связь, как бы вы сделали это там, где вы могли бы выбрать снова, и если у пользователя была неверная запись, как бы вы справились с этой проблемой.Функция функции функции обновления с функцией
Следующая игра JS, довольно маленькая. Мне просто нужна помощь в том, как заставить первую операцию if в моей функции правильно работать, правильно проверив первый параметр и, если она недействительна, появится приглашение, которое обновляет параметр без ущерба для второго. а затем повторно запустите функцию. Мои операторы «ИЛИ», похоже, тоже не работают.
Также я хотел бы знать, есть ли более чистый/лучший способ написать мой второй оператор if. Он отлично работает, мне просто интересно, есть ли лучший способ.
Благодарим за помощь!
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 !== "rock" || "scissors" || "paper"){
choice1 = prompt("Invalid entry, please reenter")}
if (choice1 === choice2){
var userChoice = prompt("Tie! Choose Again!");
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);
} 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 win"}
} else if (choice1 === "scissors"){
if (choice2 === "rock"){
return "rock wins"
}else {
return "scissors wins"}
};
};
compare(userChoice, computerChoice);
Спасибо, что упрется мой или оператора. Теперь, как мне нужно, чтобы функция обновляла первый параметр и повторно запускала функцию без изменения второго. –