升级工人/空闲游戏

时间:2017-02-17 20:24:53

标签: 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){
        miner = miner + 1;
        food = food - costMiner;
        document.getElementById("miner").innerHTML = miner;
        document.getElementById("food").innerHTML = food;

setInterval(function () {
  getGold(miner);
}, 1000);

所以我想知道如何升级工作人员,我的代码中的矿工,例如,生产3金而不是1。

正在考虑一个购买升级后立即激活的功能,但我不知道如何做到这一点..

希望有人可以帮助我.. 谢谢:)

1 个答案:

答案 0 :(得分:0)

查看你的getGold()函数,你传递了矿工的数量,并将该数字添加到黄金,表明每个矿工收集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。我在我的功能中使用了它。同样,您可以分别使用-=*=/=进行减法,乘法和除法。
  • 现在很好,但将所有变量放在全局范围内通常不是好习惯,它可能导致命名冲突,这很难调试