objective-c - 基于 f(N) 生成定价的更好方法

标签 objective-c algorithm math currency in-app-purchase

我的游戏中有游戏币。对于购买下一次升级的用户,我目前使用一种非常简单的方法,即第 N 次升级花费 N*1000 个硬币。

我目前不太喜欢使用它,因为我希望它更容易上手,并且可能扩展得更好,因此升级起来不那么困难。

一种解决方案是使用 Fibonnacci,它可以提供很好的早期结果,但会使以后的升级几乎不可能。

谁能提供解决方案,因为我的数学知识非常有限

最佳答案

sigmoid function呢? ?它开始缓慢上升,然后几乎线性上升,最后开始减速。

如果您查看 wolfram alpha 上的图表,您可以这样计算您的价格:

price = a_bit_more_than_maximum_upgrade_price * sigmoid( x )

您必须选择最高价格的倍数作为开始升级的价格,如果您选择开始 x=-4,您将获得低于最高价格 5% 的价格。尾数 x 可能等于 4。您将达到最高价格的 95% 左右。然后你有升级的数量。您可以像这样计算 sigmoid 的输入:

x = (upgrade_index / (number_of_upgrades-1)) * 8.0 - 4.0

升级指数从零开始,您必须至少进行 2 次升级 :) 您可以去掉最后几位数字或将它们四舍五入以获得更好看的数字。

关于objective-c - 基于 f(N) 生成定价的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19741639/

相关文章:

iphone - iOS 4 上的 OCMock

ios - 异常 'NSInternalInconsistencyException' ,原因 : 'Could not load NIB in bundle: . ..有人可以找出这有什么问题吗

c++:使用具有二进制函数的 boost 范围转换适配器

python - 为什么我的小 python 斐波那契检测器失败了?

python-3.x - 使用 Machin 方法估算 pi 的准确性问题

c++ - C++中最好的统计库?

ios - 有没有办法在联网时回拨?

ios - NSMutableArray 与 UITableView

java - 利用线程实现 kruskal 算法

java - 两个签名 Java 'long' 值的饱和加法