2017-02-17 45 views
0

iam真的是新的编码,所以我试着编写一个小空闲游戏。升级工/空闲游戏

所以我购买工人的代码是这样的:

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.

在想这会激发只要你买的升级激活的功能,但我不知道如何做到这一点..

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

回答

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 。我用我的功能。同样,你可以使用-=*=/=作减法,乘法,并分别划分
  • 现在很好,但它通常不是好的做法把所有的变量在全球范围内,它可能会导致命名冲突,这可能是很难调试
+0

谢谢你,会试一试 – Diliskar

+0

@Diliskar做得好吗? – MayorMonty