As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。




9年前关闭。




我正在开发一个游戏,但我不希望一个充满关卡的数组,这些关卡在遍历它们以查找用户关卡时很可能会增加页面加载。我需要一种算法来仅依靠用户的经验来独立解决此问题。这是因为我希望最大级别大约为1,000,并且数组需要很长的时间才能通过。

在某些帮助下,我针对每个级别之间的差异提出了以下算法:
difference = difference + (difference / 7)

它在较低的级别上效果很好,但是此图为级别1-141,并且您可以看到,它非常容易,直到大约一半,然后向上射击并继续向上射击,直到到达目标位置为止。点1,500,000,000经验等级〜250,这还不够好。

因此,我的问题是,您认为哪种更好的方法来解决每个级别之间的差异?欢迎任何建议,我将测试所有算法。

谢谢。

最佳答案

首先,是线性系统。

Level = Experience / 1000

每1,000个经验相当于一个级别。要使升级速度变慢,您需要降低获得经验的速度。这具有使 super 轻松的 Activity 在以后计为零体验的额外好处,因此您无法通过杀死老鼠来使其成为史诗级游戏。

然后是各种递减 yield 曲线。例如:
Level = (Experience/1000)^(1/scale)

对于等级1,比例为2(sqrt曲线),则需要1,000个经验。对于两个,您需要四千。三,九千。每个级别变得越来越难。如果缩小比例,难度增加的速率会降低(坡度变陡)。

我建议自己构建函数,而不是构建一阶导数(就像您尝试做的那样)。在您进行集成之前,这将使您对图有更好的了解。

09-29 23:19