JavaScript(石头、布、剪刀)在提示时执行

JavaScript(石头、布、剪刀)在提示时执行,javascript,loops,Javascript,Loops,有人能帮帮我吗,这是我学习JS的第三天,我正在尝试添加do while循环,直到石头、布或剪刀被输入到提示中,但它似乎不起作用,现在几个小时都在尝试解决它。。。使用此代码时,无论输入什么,提示始终出现 // a. User makes a choice var userChoice = prompt("Do you choose ROCK, PAPER or SCISSORS?"); do { userChoice = prompt("Do you choose ROCK, PAPER or

有人能帮帮我吗,这是我学习JS的第三天,我正在尝试添加do while循环,直到石头、布或剪刀被输入到提示中,但它似乎不起作用,现在几个小时都在尝试解决它。。。使用此代码时,无论输入什么,提示始终出现

// a. User makes a choice
var userChoice = prompt("Do you choose ROCK, PAPER or SCISSORS?");
do {
  userChoice = prompt("Do you choose ROCK, PAPER or SCISSORS?");
}
while (userChoice != "rock" && userChoice != "paper" && "scissors");
var computerChoice = Math.random();

// b. Computer makes a choice
if (computerChoice <= 0.33) {
  computerChoice = "rock";
} else if (computerChoice <= 0.67) {
  computerChoice = "paper";
} else {
  computerChoice = "scissors";
}
var choice1 = userChoice;
var choice2 = computerChoice;

// c. A compare function will determine who wins
function compare (choice1, choice2){
  if (choice1 === choice2){
    alert("A tie!");
  }
else if (choice1 === "rock"){
  if (choice2 === "paper"){
    alert("Computer chose PAPER, you LOSE!");
  } else
      alert("Computer chose SCISSORS, you WIN!");
  }
else if (choice1 === "paper"){
  if (choice2 === "scissors"){
    alert("Computer chose SCISSORS, you LOSE!");
  } else
      alert("Computer chose ROCK, you WIN!");
  }
else if (choice1 === "scissors"){
  if (choice2 === "rock"){
    alert ("Computer chose ROCK, you lose!");
  } else
      alert("Computer chose PAPER, you WIN!");
  }
}
compare (userChoice, computerChoice);
console.log("You chose:", choice1, "||", "Computer chose:", choice2);
//a。用户做出选择
var userChoice=prompt(“您选择石头、布还是剪刀?”);
做{
userChoice=prompt(“您选择石头、布还是剪刀?”);
}
而(userChoice!=“rock”&&userChoice!=“paper”&&剪刀”);
var computerChoice=Math.random();
//b。计算机做出选择

如果(计算机选择)提示总是出现,因为

userChoice != "rock" && userChoice != "paper" && "scissors"
总是评估为真。你可能想要

userChoice != "rock" && userChoice != "paper" && userChoice != "scissors"

您的代码中有几个问题:

  • while
    条件下的
    比较中缺少变量名
    userChoice
  • 当代码运行时(在第一行)并且在
    do
    块内,您不需要提示用户选择。您只需在
    do
    块中提示用户选择即可
  • var用户选择;
    做{
    userChoice=prompt(“您选择石头、布还是剪刀?”);
    }
    而(userChoice!=“rock”&&userChoice!=“paper”&&userChoice!=“剪刀”);
    var computerChoice=Math.random();
    //计算机做出选择
    
    如果(电脑选择它怎么不工作?伙计们,非常感谢你们,我感觉好傻,哈哈…我无法想象它以后会变得多么复杂…哦,孩子。再次感谢;)如果答案真的对你有帮助,你可以在上面打勾。@Smolskisdominykastone,好吧,这是我第一次在stackoverflow上发表文章,我很感激你的快速回答,再次感谢。@SmolskisDominykas没问题。你可以记住我,或者把你的问题发进去。我们总是在那里帮助那些需要帮助的人。谢谢你们:)