我正在开发一个简单的文字战斗游戏,在计算战斗后应该获得多少XP时遇到一些问题,我需要考虑一些因素:
1)如果击败同等级的玩家,他们当然应该获得良好的XP
2)如果玩家击败更高级别的玩家,则应该获得出色的XP
3)如果玩家打败了一个较低等级的玩家,他们应该获得差的XP
4)上面的比例应该很好,也就是说,如果玩家A是10级,并且与玩家B处于9或11级战斗,那么差异不会太大(他们击败第11级角色当然会获得更多经验值,但是我们不会期望这是巨大的),但如果他要与5或15级战斗,那么这个差异应该很大。
只是无法计算出在所有情况下都能正常工作的东西,目前我的XP表如下所示:
Current Level XP Needed Increase from Last Level
1 30 0
2 65 35
3 106 41
4 154 48
5 210 56
...
10 672 123
在PHP中,我的代码如下所示,以计算所需的XP:
$offset = 30;
$multiplier = 1.17;
$base = $prevXp * $multiplier;
$xp = $base + $offset;
我尝试了几种不同的方法,但是没有让我印象深刻,我想计算XP的差异,然后使用某种乘数,但是结果却没有让我印象深刻。
任何帮助/输入将不胜感激。