我需要一个提示窗口让用户输入数字。
当设置函数(下面的代码)一次时,一切正常,但是这个提示窗口应该一直累加,直到带有整数(从 200 开始)的变量达到 0,所以我认为 do while 循环可以解决这个问题。
但是,当设置 do while 循环时,输入数字后会立即显示提示窗口,并且不会更改任何内容。
我还更改了代码,直到循环无限并且我的浏览器崩溃。
我知道 do while 循环中的条件始终为 true (
machineFuel > 0 && height > 0
),因为变量 machineFuel and height
大于 0,但我不知道如何正确设置它。
这里是相关代码(缩写)
var machineFuel = 200;
var height = 500;
setTimeout(round, 2000);
function round() {
do {
playerInput = input();
} while (machineFuel > 0 && height > 0);
calculate();
}
function input(fuel) {
fuel = parseInt(prompt("Fuel", "A number from 0-200"));
return fuel;
}
function calculate() {
machineFuel = machineFuel - playerInput;
}
将
calculate
移到 input()
之后,否则您的 machineFuel
将不会更新并且 while
将永远运行:
var machineFuel = 200;
var height = 500;
setTimeout(round, 2000);
function round() {
do {
playerInput = input();
calculate();
} while (machineFuel > 0 && height > 0);
}
function input(fuel) {
fuel = parseInt(prompt("Fuel", "A number from 0-200"));
return fuel;
}
function calculate() {
machineFuel = machineFuel - playerInput;
}