2017-02-17 44 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