跳转到内容

模組:CCHPaward

维基百科,自由的百科全书

这是本页的一个历史版本,由FradonStar留言 | 贡献2025年6月2日 (一) 19:09 (// Edit via Wikiplus)编辑。这可能和当前版本存在着巨大的差异。

local p = {}

function p.calculateLevel(frame)
    local args = frame:getParent().args  -- 获取命名参数
    
    -- 安全获取参数值,确保转换为数字
    local function getNumberParam(paramName, default)
        local value = args[paramName] or default
        return tonumber(value) or default
    end
    
    -- 获取参数,支持所有参数形式
    local entryContrib = getNumberParam('条目贡献', 
                      getNumberParam('A', 
                      getNumberParam('a', 0)))
    
    local imageContrib = getNumberParam('图片贡献', 
                      getNumberParam('P', 
                      getNumberParam('p', 0)))
    
    local reviewContrib = getNumberParam('评审贡献', 
                       getNumberParam('R', 
                       getNumberParam('r', 0)))
    
    -- 计算加权总分:条目×1 + 图片×0.2 + 评审×0.4
    local totalScore = entryContrib * 1 + imageContrib * 0.2 + reviewContrib * 0.4
    
    -- 总分除以10取整得到等级
    local level = math.floor(totalScore / 10)
    
    -- 等级最小为0
    return math.max(level, 0)
end

return p