【发布时间】:2019-03-07 08:50:43
【问题描述】:
我的数学很糟糕(对不起!)我无法计算出适合我的游戏的简单方程式。
在游戏中,我有一个物品的价格,你可以无限次购买 - 每次购买,价格都会上涨。
假设购买该商品的价格为 5 美元。在这里,我会买它10次: 5+20+45+80+125+180+245+320+405+500 = 购买 10 次的总成本为 1925 美元。
接下来我要完成的是提供 Buy x10、Buy x20 等按钮,这些按钮将计算一次购买 10 次的成本。
这是我目前的代码,它将导致上述价格:
public function CalcuatePrice(timesAlreadyPurchased:Number,timesToBuy:int=1):Number {
var price:Number;
var basePrice:Number = 5;
var multiplier:Number;
//Always need at least 1 (items actually start at purchased 0 times)
timesAlreadyPurchased += 1;
//Apply iterations
if (timesToBuy!=1){
multiplier = (timesToBuy * (timesToBuy + timesAlreadyPurchased)) / 2;
} else {
multiplier = timesAlreadyPurchased;
}
price = basePrice * multiplier;
return price;
}
目前只在timesToBuy为1时有效。问题上线了:
multiplier = (timesToBuy * (timesToBuy + baseMultiplier)) / 2;
我只是不确定使用什么公式来获得“timesToBuy = 10”,当“timesAlreadyPurchased = 0”时返回 1925 美元的值。
另外——有人知道这种方程在数学中叫什么吗?也许是指数级数之和?谢谢。
【问题讨论】:
标签: actionscript-3 math actionscript