我似乎无法弄清楚为什么升级时farmerTime
没有更新。有一个按钮只会为farmingLevel
添加一个级别。
window.setInterval(function() {
farmerTime = 2500;
farmerLevel = 3;
x = farmerTime;
y = farmerLevel;
z = x / y;
farmerTime = z;
if (farmers >= 1) {
a = farmers;
b = potatoes;
c = a * 1;
d = b + c;
potatoes = d;
}
}, farmerTime);`
答案 0 :(得分:0)
您需要在使用之前定义farmerTime
。在您的情况下,在setInterval
函数之前。另外,如果您想更改farmerLevel
,则需要将其更改为其他位置,而不是setinterval
函数。
更改级别示例:
<button type="button" onclick="setFarmerLevel(farmerLevel + 1);">Change level </button>
间隔事物的代码:
var farmerTime = 2500;
var farmerLevel = 1;
var setFarmerLevel = function (level) {
farmerLevel = !level ? 1 : level;
farmerTime = farmerTime / farmerLevel;
clearInterval(farmerInterval);
farmerInterval = window.setInterval(run, farmerTime);
};
var run = function () {
if (farmers >= 1) {
a = farmers;
b = potatoes;
c = a * 1;
d = b + c;
potatoes = d;
}
};
var farmerInterval = window.setInterval(run, farmerTime);
<强>更新强>
我忘了setInterval的函数时间不能在运行时更改,所以代码现在更新。