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!");
}
};
上面的代码来 self 正在尝试制作的点击游戏。有两个按钮可以购买 1 个“dankMiner”或 5 个。我试图做的是每次购买“dankMiner”时增加它的成本,因此公式首先将其提高到 1.05 次方,然后除以 1.18。当我购买一个“dankMiner”时,它会起作用,但是当我选择购买五个“dankMiner”时,它的成本与我五次点击“购买 1”选项时的成本不同。
例如,点击“购买 1”选项 15 次,下一个选项的费用为 77。但是,点击“购买 5”选项 3 次,下一个选项的费用将超过 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/