跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
社群首页
帮助
希顶相关网站
希顶社区官网
(原作)希顶翻译器
〇改希顶转写器
希顶模组服务器
搜索
搜索
外观
创建账号
登录
个人工具
创建账号
登录
查看“︁Module:SunShow”︁的源代码
模块
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
文本
小
标准
大
此页面始终使用小字号
宽度
标准
宽
内容会尽可能占满您的浏览器窗口宽度。
←
Module:SunShow
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
用户
、storagereadable
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
高级
特殊字符
帮助
希顶字母
标题
2级
3级
4级
5级
格式
插入
拉丁字母
扩展拉丁字母
国际音标
符号
希腊字母
希腊字母扩展
西里尔字母
阿拉伯字母
扩展阿拉伯字母
希伯来字母
孟加拉语字符集
泰米尔数字和符号
泰卢固语字符集
僧伽罗语字符集
梵文字符集
古吉拉特语字符集
泰语字符集
老挝语
高棉语字母
加拿大原住民音节文字
卢恩
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
格式
链接
标题
列表
文件
讨论
说明
输入内容
输出结果
斜体
''斜体文字''
斜体文字
粗体
'''粗体文字'''
粗体文字
粗斜体
'''''粗斜体文字'''''
粗斜体文字
希顶字母
local p = {} local getArgs = require('Module:Arguments').getArgs local json49 = mw.text.jsonDecode(mw.title.new('Module:49.json'):getContent()) local json7 = mw.text.jsonDecode(mw.title.new('Module:7.json'):getContent()) local rainbow = {} -- 色值表 local cname = {} -- 颜色名 local en_cname = {} -- 英文颜色名 -- 读取 7.json 数据 for _, entry in ipairs(json7) do local order = tonumber(entry.su6H[1]) -- 获取序数 local index = (order + 1) % 7 - 1 -- 转换索引 rainbow[index] = entry.sue:lower() cname[index] = entry.suemi8H['zh-CN'] en_cname[index] = entry.suemi8H['en-US'] end rainbow[8] = "#aa10aa" -- 补充? local seq_map = {} -- 整序映射自然序 local gua = {} -- 中文卦名 local old_gua = {} -- 古文卦名 local english_gua = {} -- 英文卦名 local speech = {} -- 现代言语 local old_speech = {} -- 古文言语 local notes = {} -- 注释 -- 读取 49.json 数据 for _, entry in ipairs(json49) do local seq = 49 - entry.az8sA5 -- 计算整序 seq_map[seq] = entry.t1ru2sA5 -- 存储自然序 gua[seq] = entry.mi8H old_gua[seq] = entry.gAmi8H english_gua[seq] = entry.English speech[seq] = entry.HuVL old_speech[seq] = entry.gAHuVL notes[seq] = entry.Eka end --[[ 整序转自然序 将指定的整序转换为自然序。 输入: num: 整序数字,范围应在 1 到 49 之间 输出: 返回对应的自然序数字,如果输入无效则返回 0 ]] function p.seq_to_nat(num) if num < 1 or num > 49 then return 0 end return seq_map[num] end --[[ 自然序转整序 将指定的自然序转换为整序。 输入: val: 自然序数字,范围应在 1 到 49 之间 输出: 返回对应的整序数字,如果输入无效则返回 0 ]] function p.nat_to_seq(val) for i, v in ipairs(seq_map) do if v == val then return i end end return 0 end --[[ 双色太阳易色块生成器(补码模式) 为方便起见,这里事实上是用补码,即数值 6 5 4 3 2 1 0 指代火木光土风水空。 输入: inp: 0-48的整数 tzbiou: 是否启用特殊时期样式(可选,默认0) 输出:带双色背景的HTML块儿 ]] function p.sunColor(inp, tzbiou) tzbiou = tzbiou or 0 local l = inp % 7 -- 下卦 local u = math.floor(inp/7) % 7 -- 上卦 if (l == 4 and u == 1 and tzbiou == 1) then return ' ' -- 特殊时期返回空格 else return string.format( '<span style="background:-webkit-linear-gradient(90deg, %s 0%%, %s 50%%, %s 50%%, %s 100%%)"> </span>', rainbow[7-l], rainbow[7-l], rainbow[7-u], rainbow[7-u] ) end end --[[ 双色太阳易色块生成器(原码模式) 输入: inp: 1-49的整数 tzbiou: 是否启用特殊时期样式(可选,默认0) 输出:带双色背景的HTML块儿 ]] function p.sunColor2(inp, tzbiou) tzbiou = tzbiou or 0 local l = (inp - 1) % 7 + 1 local u = math.floor((inp - 1) / 7) % 7 + 1 if (l == 3 and u == 6 and tzbiou==1) then return ' ' -- 特殊时期返回空格 else --[[ return string.format( '<span style="background:-webkit-linear-gradient(90deg, %s 0%%, %s 50%%, %s 50%%, %s 100%%)"> </span>', rainbow[l], rainbow[l], rainbow[u], rainbow[u] )]] return string.format( '%s %S', l,u ) end end --[[ 单色契色块生成器 输入:1-8的整数(对应八契原码) 输出:带纯色背景的HTML块儿 ]] function p.cheiColor(inp) return string.format('<span style="background:%s"> </span>', rainbow[inp]) end --[[ 获取卦名(补码模式) 输入:0-48的整数 输出:对应的49日卦名 ]] function p.sun49(inp) return gua[49 - (inp % 49)] end --[[ 获取卦名(原码模式) 输入:1-49的整数 输出:对应的49日卦名 ]] function p.sun492(inp) return gua[inp] end ---- 模板定义 ---- --[[ 模板调用:整序转自然序 用法:{{#invoke:SunShow|seqToNatT|输入值}} ]] function p.seqToNatT(frame) local args = getArgs(frame) local num = tonumber(args[1]) or 0 -- 默认值为0 return p.seq_to_nat(num) end --[[ 模板调用:自然序转整序 用法:{{#invoke:SunShow|natToSeqT|输入值}} ]] function p.natToSeqT(frame) local args = getArgs(frame) local val = tonumber(args[1]) or 0 -- 默认值为01 return p.nat_to_seq(val) end --[[ 模板调用:双色太阳易色块生成器(补码模式) 用法:{{#invoke:SunShow|sunColorT|输入值}} ]] function p.sunColorT(frame) local args = getArgs(frame) local inp = tonumber(args[1]) or 0 -- 默认值为0 return p.sunColor(inp) end --[[ 模板调用:双色太阳易色块生成器(原码模式) 用法:{{#invoke:SunShow|sunColor2T|输入值}} ]] function p.sunColor2T(frame) local args = getArgs(frame) local inp = tonumber(args[1]) or 1 -- 默认值为1 return p.sunColor2(inp) end --[[ 模板调用:单色契色块生成器 用法:{{#invoke:SunShow|cheiColorT|输入值}} ]] function p.cheiColorT(frame) local args = getArgs(frame) local inp = tonumber(args[1]) or 1 -- 默认值为1 return p.cheiColor(inp) end --[[ 模板调用:获取卦名(补码模式) 用法:{{#invoke:SunShow|sun49T|输入值}} ]] function p.sun49T(frame) local args = getArgs(frame) local inp = tonumber(args[1]) or 0 -- 默认值为0 return p.sun49(inp) end --[[ 模板调用:获取卦名(原码模式) 用法:{{#invoke:SunShow|sun492T|输入值}} ]] function p.sun492T(frame) local args = getArgs(frame) local inp = tonumber(args[1]) or 1 -- 默认值为1 return p.sun492(inp) end return p
调试控制台
* 此模块的返回的值存于控制台变量“p”中,包括没有保存的变更。 * 在一行的前面加上“=”可以将其作为表达式来计算或使用print()显示。显示表格请使用mw.logObject()。 * 在模块代码中使用mw.log()和mw.logObject()来向控制台发送消息。
该页面使用的模板:
Module:SunShow/doc
(
查看源代码
)
返回
Module:SunShow
。