[JavaScript] 纯文本查看 复制代码
' 五行和天干的对应关系
全局 天干数组() 为 文本 = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"}
全局 五行数组() 为 文本 = {"木", "木", "火", "火", "土", "土", "金", "金", "水", "水"}
全局 阴阳数组() 为 文本 = {"阳", "阴", "阳", "阴", "阳", "阴", "阳", "阴", "阳", "阴"}
' 五行生克关系
全局 生关系表() 为 文本
全局 克关系表() 为 文本
' 初始化五行生克关系表
子程序 初始化五行关系()
重定义 生关系表(5)
重定义 克关系表(5)
生关系表("木") = "火"
生关系表("火") = "土"
生关系表("土") = "金"
生关系表("金") = "水"
生关系表("水") = "木"
克关系表("木") = "土"
克关系表("火") = "金"
克关系表("土") = "水"
克关系表("金") = "木"
克关系表("水") = "火"
结束子程序
' 获取天干对应的五行
函数 获取五行(天干 为 文本) 为 文本
局部变量 索引 为 整数
索引 = 数组查找(天干数组, 天干)
如果 索引 > 0 则
返回 五行数组(索引 - 1)
否则
返回 ""
结束如果
结束函数
' 获取天干对应的阴阳
函数 获取阴阳(天干 为 文本) 为 文本
局部变量 索引 为 整数
索引 = 数组查找(天干数组, 天干)
如果 索引 > 0 则
返回 阴阳数组(索引 - 1)
否则
返回 ""
结束如果
结束函数
' 获取日干与目标天干的十神关系
函数 获取十神(日干 为 文本, 目标天干 为 文本) 为 文本
' 获取日干与目标天干的五行和阴阳属性
局部变量 日干五行 为 文本 = 获取五行(日干)
局部变量 日干阴阳 为 文本 = 获取阴阳(日干)
局部变量 目标五行 为 文本 = 获取五行(目标天干)
局部变量 目标阴阳 为 文本 = 获取阴阳(目标天干)
' 计算十神关系
如果 日干五行 = 目标五行 则
如果 日干阴阳 = 目标阴阳 则
返回 "比肩"
否则
返回 "劫财"
结束如果
否则如果 目标五行 = 生关系表(日干五行) 则
如果 日干阴阳 = 目标阴阳 则
返回 "偏印"
否则
返回 "正印"
结束如果
否则如果 日干五行 = 生关系表(目标五行) 则
如果 日干阴阳 = 目标阴阳 则
返回 "食神"
否则
返回 "伤官"
结束如果
否则如果 目标五行 = 克关系表(日干五行) 则
如果 日干阴阳 = 目标阴阳 则
返回 "七杀"
否则
返回 "正官"
结束如果
否则如果 日干五行 = 克关系表(目标五行) 则
如果 日干阴阳 = 目标阴阳 则
返回 "偏财"
否则
返回 "正财"
结束如果
否则
返回 "未知"
结束如果
结束函数
' 主程序入口
子程序 _按钮1_被单击()
初始化五行关系()
' 示例使用
调试输出("甲 vs 甲: " & 获取十神("甲", "甲")) ' 比肩
调试输出("甲 vs 乙: " & 获取十神("甲", "乙")) ' 劫财
调试输出("甲 vs 壬: " & 获取十神("甲", "壬")) ' 偏印
调试输出("甲 vs 癸: " & 获取十神("甲", "癸")) ' 正印
调试输出("甲 vs 丙: " & 获取十神("甲", "丙")) ' 食神
调试输出("甲 vs 丁: " & 获取十神("甲", "丁")) ' 伤官
调试输出("甲 vs 庚: " & 获取十神("甲", "庚")) ' 七杀
调试输出("甲 vs 辛: " & 获取十神("甲", "辛")) ' 正官
调试输出("甲 vs 戊: " & 获取十神("甲", "戊")) ' 偏财
调试输出("甲 vs 己: " & 获取十神("甲", "己")) ' 正财
' 在界面上显示结果
标签1.标题 = "十神关系计算结果:"
标签2.标题 = "甲 vs 甲: " & 获取十神("甲", "甲")
标签3.标题 = "甲 vs 乙: " & 获取十神("甲", "乙")
标签4.标题 = "甲 vs 丙: " & 获取十神("甲", "丙")
结束子程序