我正在用 C# 制作一个小游戏,但我不知道如何制作一个自我工作的 EXP 系统,该系统可以获得玩家当前级别升级所需的 EXP。
这就是我希望它工作的方式。
1 = 75
2 = 75 + 75 = 150
3 = 75 + 75 + 75 + 75 = 300
4 = 75 + 75 + 75 + 75 + 75 + 75 + 75 = 525
我该怎么做呢?
我正在用 C# 制作一个小游戏,但我不知道如何制作一个自我工作的 EXP 系统,该系统可以获得玩家当前级别升级所需的 EXP。
这就是我希望它工作的方式。
1 = 75
2 = 75 + 75 = 150
3 = 75 + 75 + 75 + 75 = 300
4 = 75 + 75 + 75 + 75 + 75 + 75 + 75 = 525
我该怎么做呢?
看来您的模式是“添加一个 75,添加两个 75,添加三个 75”......这可以在数学上写成:
s_1 = 75
s_{n+1} = s_n + 75 * n
这意味着您可以使用
(1 + level * (level - 1) / 2) * 75
一些简单的数学,假设你想要指数增长?伪代码:requiredExp = 75 * Math.pow(2, level - 1)
如果您使用任意数字,则可以使用字典。地图级别体验。
编辑:每次再加一个 75(等差数列的总和)。requiredExp = 75 * (1 + (level - 1) * level / 2)
应该做