模块:测试调用数据:修订间差异

无编辑摘要
无编辑摘要
第8行: 第8行:
     local html = mw.html.create()
     local html = mw.html.create()


     -- 执行测试输出
     -- 开始表格
     html:tag('p'):wikitext("开始测试模块:角色属性数据"):done()
     html:tag('table')
    :addClass('wikitable')
    :css('width', '100%')
    :tag('tr')
    :tag('th'):wikitext('NAME'):done()
    :tag('th'):wikitext('Base'):done()
    :tag('th'):wikitext('MAX'):done()
    :done()


     if not query_num then
     if query_num then
        html:tag('p'):wikitext("错误: 缺少角色编号参数"):done()
    else
        html:tag('p'):wikitext("查询角色编号: " .. query_num):done()
        local found = false
         for _, char in ipairs(dataList) do
         for _, char in ipairs(dataList) do
             if query_num == char.owner_order then
             if query_num == char.owner_order then
                found = true
                html:tag('p'):wikitext("角色编号: " .. char.owner_order):done()
                 for _, element in ipairs(elements) do
                 for _, element in ipairs(elements) do
                     local maxAttr = "MAX" .. element
                     local maxAttr = "MAX" .. element
                    local baseAttr = "Base" .. element
                     local maxAttrValue = char.Data_jp[maxAttr] or "数据不存在"
                     local maxAttrValue = char.Data_jp[maxAttr] or "数据不存在"
                    html:tag('p'):wikitext(maxAttr .. ": " .. maxAttrValue):done()
                   
                    local baseAttr = "Base" .. element
                     local baseAttrValue = char.Data_jp[baseAttr] or "数据不存在"
                     local baseAttrValue = char.Data_jp[baseAttr] or "数据不存在"
                     html:tag('p'):wikitext(baseAttr .. ": " .. baseAttrValue):done()
 
                    -- 输出每行
                     html:tag('tr')
                    :tag('td'):wikitext(element):done()
                    :tag('td'):wikitext(baseAttrValue):done()
                    :tag('td'):wikitext(maxAttrValue):done()
                    :done()
                 end
                 end
             end
             end
        end
        if not found then
            html:tag('p'):wikitext("错误: 找不到角色编号为 " .. query_num .. " 的角色"):done()
         end
         end
     end
     end


     html:tag('p'):wikitext("模块:角色属性数据测试完成"):done()
    -- 结束表格
     html:done()


     return tostring(html)
     return tostring(html)

2024年6月26日 (三) 21:59的版本

可在模块:测试调用数据/doc创建此模块的帮助文档

local p = {}
local db = mw.loadData('模块:角色属性数据')
local dataList = db.char_self_data
local elements = {"HP", "SP", "ATK", "DEF", "MAG", "MDEF", "CRT", "SPD"}

p["测试调用"] = function(frame)
    local query_num = frame.args['角色编号']
    local html = mw.html.create()

    -- 开始表格
    html:tag('table')
    :addClass('wikitable')
    :css('width', '100%')
    :tag('tr')
    :tag('th'):wikitext('NAME'):done()
    :tag('th'):wikitext('Base'):done()
    :tag('th'):wikitext('MAX'):done()
    :done()

    if query_num then
        for _, char in ipairs(dataList) do
            if query_num == char.owner_order then
                for _, element in ipairs(elements) do
                    local maxAttr = "MAX" .. element
                    local baseAttr = "Base" .. element

                    local maxAttrValue = char.Data_jp[maxAttr] or "数据不存在"
                    local baseAttrValue = char.Data_jp[baseAttr] or "数据不存在"

                    -- 输出每行
                    html:tag('tr')
                    :tag('td'):wikitext(element):done()
                    :tag('td'):wikitext(baseAttrValue):done()
                    :tag('td'):wikitext(maxAttrValue):done()
                    :done()
                end
            end
        end
    end

    -- 结束表格
    html:done()

    return tostring(html)
end

return p