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/

10-12 07:31