我的游戏中有游戏币。对于购买下一次升级的用户,我目前使用一种非常简单的方法,即第 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/