首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高效的调平系统

高效的调平系统
EN

Stack Overflow用户
提问于 2012-09-17 10:29:19
回答 4查看 141关注 0票数 0

我正在制作一个基于你在网站上的经验的水平系统。我已经弄清楚了所有的经验,以及我想如何做水平,但我需要一个更有效的方式来做到这一点。我知道这可能会使用数组来实现,但我真的不知道如何去做。别再胡扯了,这就是我要做的……

级别1是经验小于150的任何值,然后乘以1.5,所以级别2是小于225的值,级别3是小于337.5的值,依此类推。这就是我要做的效率低下的方式。

代码语言:javascript
运行
复制
if($xp < 150){
$level = "1";
}elseif($xp < 225){
$level = "2";
}elseif($xp < 337.5){
$level = "3";
}

我可以对数字使用一个变量,然后乘以1.5 ($number*1.5),但就像我之前说过的那样,我真的不知道这是如何工作的。

*更多信息..我有一个会话文件包括在每个页面上,我有查询,将检查每一次有新的经验获得,这段代码将用于更新的水平,在数据库中自动。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-17 10:33:42

试一试

代码语言:javascript
运行
复制
$level = min(max((int)(log($xp / 100, 1.5) + 1), 1), $maxLevel);

这需要xp/100的对数底1.5 (即必须乘以100才能得到对数的次数),然后加1(因为如果$x小于1.5,则$xp($x,1.5)小于1)。min(max(..., minLevel), maxLevel)构造允许您将级别限制在1和$maxLevel之间,还可以避免负级别的任何问题(如果$xp足够小于150)。

票数 4
EN

Stack Overflow用户

发布于 2012-12-05 11:09:20

这是我如何完成我的关卡系统的。这是一个更高级的特点,有技能点数。

代码语言:javascript
运行
复制
    <?php
    $level_up = ($level + 1);
if ($exp >= $max_exp)
    {
    $sql = "UPDATE users SET level=(level + 1) , max_exp=(exp * 1.05) , skill_points=(skill_points + 3) WHERE id='".$id."' LIMIT 1";
    $res = mysql_query($sql);
if ($exp >= $max_exp)
        echo '<div class="Leveled">' . 'You sucessfully leveled up to ' . $level_up . '!' . ' As a reward you were given 3 skill points!' . '</div>';
    }
    else
    {
    } 
    ?>
票数 1
EN

Stack Overflow用户

发布于 2012-09-17 10:34:55

我同意。对象或数组都是最好的。

类似于:

代码语言:javascript
运行
复制
$array = array(
    array(
        'xp_required' => 150,
        'level' => 1
    ),
    array(
        'xp_required' => 225,
        'level' => 2
    ),
    array(
        'xp_required' => 337.5,
        'level' => 3
    )
);
$current_xp = 155;
foreach( $array as $reqs ){
    if( $current_xp > $reqs['xp_required'] ){
        $level = $reqs['level'];
    }
}
echo $level';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12452500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档