JavaScript增量游戏间隔循环

JavaScript增量游戏间隔循环,javascript,loops,intervals,Javascript,Loops,Intervals,我正在制作一个非常简单的增量游戏,但我想不出一个实现升级的好方法 我想做一个按钮,使光标循环更快。基本上,每一个光标每秒可以得到1个硬币。升级应该可以使每个循环花费更少的毫秒 我正试图用window.setInterval实现这一点,但我不知道如何使其变为变量,我的方法不起作用 var=0; 函数单击(编号){ 硬币=硬币+数字; document.getElementById(“coins”).innerHTML=coins; } 变量游标=0; var cursorCost=数学楼层(10

我正在制作一个非常简单的增量游戏,但我想不出一个实现升级的好方法

我想做一个按钮,使光标循环更快。基本上,每一个光标每秒可以得到1个硬币。升级应该可以使每个循环花费更少的毫秒

我正试图用
window.setInterval
实现这一点,但我不知道如何使其变为变量,我的方法不起作用

var=0;
函数单击(编号){
硬币=硬币+数字;
document.getElementById(“coins”).innerHTML=coins;
}
变量游标=0;
var cursorCost=数学楼层(10*Math.pow(1.1,游标));
var nextCost=数学楼层(10*Math.pow(1.1,游标));
var=0;
var cursorUpgradeCost=数学地板(100*Math.pow(2,cursorUpgradeCost));
函数buyCursor(){
var cursorCost=数学楼层(10*Math.pow(1.1,游标));
如果(硬币>=cursorCost){
游标=游标+1;
硬币=硬币-光标成本;
document.getElementById('cursors')。innerHTML=cursors;
document.getElementById('coins')。innerHTML=coins;
};
var nextCost=数学楼层(10*Math.pow(1.1,游标));
document.getElementById('cursorCost')。innerHTML=nextCost;
};
函数buyCursorUpgrade(){
如果(硬币>=光标升级成本){
游标升级=游标升级+1;
硬币=硬币-光标升级成本;
document.getElementById('cursorUpgrades')。innerHTML=cursorUpgrades;
document.getElementById('coins')。innerHTML=coins;
};
var nextUpgradeCost=数学地板(100*Math.pow(2,游标升级));
document.getElementById('cursorUpgradeCost')。innerHTML=nextUpgradeCost;
};
setInterval(函数(){
单击鼠标(光标);
},数学四舍五入(1000-100*cursorUpgrades));
函数save(){
setItem(“coins”,JSON.stringify(coins));
setItem(“游标”,JSON.stringify(游标));
setItem(“cursorCost”,JSON.stringify(cursorCost));
console.log('Saved');
};
函数加载(){
console.log('Loaded');
coins=JSON.parse(localStorage.getItem('coins'));
cursors=JSON.parse(localStorage.getItem('cursors');
cursorCost=数学楼层(10*Math.pow(1.1,游标));
document.getElementById('cursors')。innerHTML=cursors;
document.getElementById('coins')。innerHTML=coins;
document.getElementById('cursorCost')。innerHTML=cursorCost;
};
函数resetgame(){
硬币=0;
游标=0;
cursorCost=数学楼层(10*Math.pow(1.1,游标));
document.getElementById('cursors')。innerHTML=cursors;
document.getElementById('coins')。innerHTML=coins;
document.getElementById('cursorCost')。innerHTML=cursorCost;
};
var savegamecoins=JSON.parse(localStorage.getItem(“coins”);
var savegamecursors=JSON.parse(localStorage.getItem(“cursors”));
如果(硬币=0&&光标=0){
硬币=储蓄游戏硬币;
游标=savegamecursors;
cursorCost=数学楼层(10*Math.pow(1.1,游标));
document.getElementById('cursors')。innerHTML=cursors;
document.getElementById('coins')。innerHTML=coins;
document.getElementById('cursorCost')。innerHTML=cursorCost;
};

点击我!

硬币:0
购买光标
游标:0
成本:10
购买光标升级
游标升级:0
光标升级费用:100
拯救游戏
负荷游戏
重置游戏

您的
js
代码中有几个错误

  • 您永远不会更改
    硬币的值
    硬币+数字
    (在调用
    硬币时开始单击(光标)
    硬币=0
    数字=0
    ,这解释了您显示的硬币不会更改的原因
  • <> LI>如果您希望<代码> SET TIMESU/<代码>的定时器是可变的,您可以考虑使用<代码> SETTIMEOUT而不是解释它。
下面是我在您的
js
代码中所做的一些更改

var=0;
函数单击(编号){
//我在这里做了一个更改,以便变量“硬币”可以变化
硬币=硬币+1;
document.getElementById(“coins”).innerHTML=coins;
}
变量游标=0;
var cursorCost=数学楼层(10*Math.pow(1.1,游标));
var nextCost=数学楼层(10*Math.pow(1.1,游标));
var=0;
var cursorUpgradeCost=数学地板(100*Math.pow(2,cursorUpgradeCost));
函数buyCursor(){
var cursorCost=数学楼层(10*Math.pow(1.1,游标));
如果(硬币>=cursorCost){
游标=游标+1;
硬币=硬币-光标成本;
document.getElementById('cursors')。innerHTML=cursors;
document.getElementById('coins')。innerHTML=coins;
};
var nextCost=数学楼层(10*Math.pow(1.1,游标));
document.getElementById('cursorCost')。innerHTML=nextCost;
};
函数buyCursorUpgrade(){
如果(硬币>=光标升级成本){
游标升级=游标升级+1;
硬币=硬币-光标升级成本;
document.getElementById('cursorUpgrades')。innerHTML=cursorUpgrades;
document.getElementById('coins')。innerHTML=coins;
};
var nextUpgradeCost=数学地板(100*Math.pow(2,游标升级));
document.getElementById('cursorUpgradeCost')。innerHTML=nextUpgradeCost;
};
/*
setInterval(函数(){
单击鼠标(光标);
console.log(“执行”)
},数学四舍五入(1000-100*cursorUpgrades))*/
函数periodicall(){
单击鼠标(光标);
//如果更改光标升级,计时器将更改
定时器=数学圆(1000-100*游标升级)
控制台日志(计时器);
设置超时(周期调用、计时器);
};
周期性调用();
函数save(){
setItem(“coins”,JSON.stringify(coins));
setItem(“游标”,JSON.stringify(游标));
setItem(“cursorCost”,JSON.stringify(cursorCost));
console.log('Saved');
};
函数加载(){
console.log('Loaded');
coins=JSON.parse(localStorage.getItem('coins'));
cursors=JSON.parse(loca