Javascript 升级工作/空闲游戏

Javascript 升级工作/空闲游戏,javascript,Javascript,我对编码很陌生,所以我试着编写一个小游戏 因此,我购买工人的代码如下: function getGold(number){ gold = gold + number; document.getElementById('gold').innerHTML = gold; }; function buyMiner(){ var costMiner = Math.floor(10 * Math.pow(1.1,miner)); if(food >= costMiner){

我对编码很陌生,所以我试着编写一个小游戏

因此,我购买工人的代码如下:

function getGold(number){
  gold = gold + number;
  document.getElementById('gold').innerHTML = gold;
};

function buyMiner(){
  var costMiner = Math.floor(10 * Math.pow(1.1,miner));
  if(food >= costMiner){
        miner = miner + 1;
        food = food - costMiner;
        document.getElementById("miner").innerHTML = miner;
        document.getElementById("food").innerHTML = food;

setInterval(function () {
  getGold(miner);
}, 1000);
因此,我想知道如何升级工人,我的代码中的矿工,例如生产3金而不是1金

我在考虑一个功能,只要你买了升级就可以激活,但我不知道怎么做

希望有人能帮助我。。
谢谢:)

查看您的
getGold()
函数,将矿工人数传递给gold,并将该数字添加到gold中,表示每个矿工收集1黄金。也许这可以说明如何更好地解决您的问题:

setInterval(function () {
  getGold(miner * 1);
}, 1000);
基本上,您需要将矿工数量乘以每个矿工的数量,以获得生成的数量。或者,将其放入您的
getGold()
函数中:

function getGold(miners, goldPerMiner){
  gold += miners * goldPerMiner
  document.getElementById('gold').innerHTML = gold;
};
下面是一些语法提示:

  • 您不必使用
    a=a+b
    ,一种简短且通常更清晰的方法是
    a+=b
    。我在函数中使用了它。同样,您可以分别使用
    -=
    *=
    /=
    进行减法、乘法和除法运算
  • 现在可以了,但将所有变量放在全局范围内通常不是好的做法,这可能会导致命名冲突,这可能很难调试

@Diliskar进展顺利吗?