gpt4 book ai didi

php - 如何使用算法真正计算关卡进度?

转载 作者:可可西里 更新时间:2023-10-31 23:25:11 26 4
gpt4 key购买 nike

在我的应用程序中,我得到一个 var $curxp,它包含一个 int,现在我想创建一个自动返回 $xplvlup 的函数(它包含一个 int 多少下一个级别需要总 XP 和一个返回当前级别的函数。

现在我可以简单地使用 switch 语句和计算数字进行硬编码,例如:

switch($curxp){
case <10: $xplvlup = 10; break;
}

但是,如果我可以使用一种算法,这样就没有最高级别了,那就更好了。我知道我必须使用指数来获得漂亮的曲线,但我只是不知道如何开始。

更新

感谢 Oltarus,我得出了以下解决方案:

$curxp = 20;

function level($lvl){
return $xp = pow($lvl,2) + 5 * $lvl;
}

$lvl = 0;
while (level($lvl) < $curxp) $lvl++;
$totxp = level($lvl);
$xplvlup = level($lvl) - $curxp;

echo 'Level: '.$lvl."<br />";
echo 'Total XP: '.$totxp."<br />";
echo 'XP needed for Levelup: '.$xplvlup;

最佳答案

例如,如果您的第一个升级需要 500 xp,然后每个级别都需要 10% 以上的 xp,您可以这样做:

function xp_needed($cur_lvl){

$start = 500;
return $start*pow(1.1,($cur_lvl-1));

}

对于每个级别,xp 的计算方式为 500 * 1.1^(level-1)

编辑

糟糕,$cur_lvl 应该减去 1。

关于php - 如何使用算法真正计算关卡进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6368735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com