const buydankMiner1 = () => {
if (borkCoins >= dankMiner.cost) {
dankMiner.qt += 1;
borkCoins -= dankMiner.cost;
dankMiner.cost = Math.floor(Math.pow(dankMiner.cost, 1.05) / 1.18);
displayScreen()
} else {
alert("Insufficient funds!");
}
};
const buydankMiner5 = () => {
if (borkCoins >= dankMiner.cost * 5) {
dankMiner.qt += 5;
borkCoins -= dankMiner.cost * 5;
dankMiner.cost = Math.floor(Math.pow(dankMiner.cost * 5, 1.05) / 1.18);
displayScreen();
} else {
alert("Insufficient funds!");
}
};
上面的代码来自我尝试制作的点击游戏。有两个按钮可以购买1个“ dankMiner”,也可以购买5个。我试图做的是每次购买所说的“ dankMiner”都会增加其成本,因此该公式首先将其提高至1.05的幂并将其除以1.18。当我购买一个“ dankMiner”时,它可以工作,但是当我选择购买五个时,其成本与单击五次“购买1个”选项时的成本不同。
例如,单击“购买1”选项15次将导致下一个成本为77。但是,单击“购买5”选项三次将导致下一个成本超过11,000。
最佳答案
这两个是不同的
Math.pow(something * 5, 1.05) / 1.18
Math.pow(something, 1.05) * 5 / 1.18
并且还根据先例的结果每次执行五次
Math.pow(something, 1.05)/1,18
。我认为后者是您需要实现的目的。关于javascript - 公式不适用于点击器游戏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47888899/