七日内新公告:全站维护公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:Space

贴贴♀百科,万娘皆可贴的百科全书!转载请标注来源页面的网页链接,并声明引自贴贴百科。内容不可商用。
跳转到导航 跳转到搜索
模块文档  [创建] [刷新]
local p = {}
local getArgs = require('Module:Arguments').getArgs

-- 字符映射表
local charMap = {
    ['黑块'] = '█',
    ['男'] = '♂', ['哲学'] = '♂',
    ['女'] = '♀',
    ['笑脸'] = '☺',
    ['哭脸'] = '☹',
    ['太阳'] = '☀',
    ['五星'] = '★',
    ['空心五星'] = '☆',
    ['右三角'] = '▶',
    ['空心右三角'] = '▷',
    ['左三角'] = '◀',
    ['空心左三角'] = '◁',
    ['红桃'] = '♥', ['红心'] = '♥',
    ['方片'] = '♦', ['方块'] = '♦',
    ['黑桃'] = '♠', ['葵扇'] = '♠',
    ['梅花'] = '♣', ['草花'] = '♣',
    ['空心红桃'] = '♡', ['空心红心'] = '♡',
    ['空心方片'] = '♢', ['空心方块'] = '♢',
    ['空心黑桃'] = '♤', ['空心葵扇'] = '♤',
    ['空心梅花'] = '♧', ['空心草花'] = '♧',
    ['对'] = '✔', ['勾'] = '✔',
    ['错'] = '✘', ['叉'] = '✘',
    ['选中'] = '☑', ['勾选'] = '☑',
    ['音符'] = '♪', ['八分音符'] = '♪',
    ['四分音符'] = '♩',
    ['带梁八分音符'] = '♫',
    ['带梁十六分音符'] = '♬',
    ['太极'] = '☯',
    ['飞机'] = '✈', ['灰机'] = '✈',
    ['辐射'] = '☢', ['放射'] = '☢', ['高能'] = '☢',
    ['生化'] = '☣',
    ['剧毒'] = '☠', ['骷髅'] = '☠'
}

-- 主要函数
function p.main(frame)
    local args = getArgs(frame)
    
    local space_num = tonumber(args[1] or args.count or '1') or 1
    local char = args[2] or args.char or ''
    
    -- 处理字符映射
    if char ~= '' and charMap[char] then
        char = charMap[char]
    elseif char == '' then
        -- 默认字符处理
        if space_num > 0 then
            char = ' '
        else
            char = ' '
        end
    end
    
    -- 生成重复字符
    local count = math.abs(space_num)
    if count == 0 then
        return ''
    end
    
    local result = ''
    for i = 1, count do
        result = result .. char
    end
    
    return result
end

-- 添加一个方便的函数,用于直接获取特殊字符
function p.getChar(frame)
    local args = getArgs(frame)
    local charName = args[1] or ''
    
    if charName ~= '' and charMap[charName] then
        return charMap[charName]
    else
        return charName -- 如果不是已知字符,直接返回输入
    end
end

return p