我不知道为什么我的控制台总是输出同样的东西

I don't know why my console always outputs the same thing

我得到了这个简单的场景:“编写一个模拟两个骰子滚动的程序。继续掷骰子,直到骰子总和为 7 或 11。您的程序应显示每次掷骰的结果。"

这很容易,我知道。但是每张印刷品的总和总是相同的,而且加法不正确。可能只是没有看到正确的东西,但我是一个超级初学者。

注意 - 在这种情况下,write() 函数仅在屏幕上显示文本。 这是我的代码:

var die1 = randomNumber(1, 6);
var die2 = randomNumber(1, 6);
var sum = die1 + die2;
while (!(sum == 7 || sum == 11)) {
  die1 = randomNumber(1,6);
  die2 = randomNumber(1,6);
  write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
}
write("Done.");

您忘记重新计算 while 循环内的 sum:

var die1 = randomNumber(1, 6);
var die2 = randomNumber(1, 6);
var sum = die1 + die2;
while (!(sum == 7 || sum == 11)) {
  die1 = randomNumber(1,6);
  die2 = randomNumber(1,6);
  //  FIX: recalculate sum
  sum = die1 + die2;
  write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
}
write("Done.");

此外,使用 do-while 循环会更干净:

var die1, die2, sum;
do {
  die1 = randomNumber(1,6);
  die2 = randomNumber(1,6);
  sum = die1 + die2;
  write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
} while(!(sum == 7 || sum == 11));
write("Done.");

注意: 也是依赖于randomNumber()函数里面写的逻辑。