迷你大六壬for Smartphone

1.        软件配置

软件名称

迷你大六壬

软件ID

LR_SYS

开发平台

.net compact framework 1.0

运行平台

Smartphone 2003

开发语言

VB.NET

多国语言

简中/简繁

结构体系

单机版

开发日期

2004/09-2004/10

最高版本

1.5

注册方法

用户名 + 激活码

 

2.        软件介绍

根据中国传统预测学三式之首大六壬原理,应用于现今各个人事方面的领域。例如,金融证券,家宅风水,人生事业,姻缘爱情等等。

本软件具备大六壬各种起课方式(固定,活时),各种引经据典的断解课义。还备有众多大六壬古籍,例如《大六壬说约》,《大六壬心镜》,《大六壬毕法案录》等等优秀古典著作。初学者“一掌“在手,可以时时刻刻不断学习运用。有大六壬基础的朋友,更可以随时随地的不断研习提高,以免去手工排课而浪费大量时间和灵感突现而无法立刻排课断课之苦。

 

3.        软件预览

 

要实现大六的排盘程序,需要以下几个步骤: 1.计算出指定日期的天干地支和节气日期。 2.根据天干地支和节气日期,计算出十二神、九星、八门、曜、三合、三会等信息。 3.根据生辰八字和节气日期,计算出该时刻的八字信息。 4.根据八字信息和节气日期,计算出该时刻的遁甲信息。 5.根据八字信息和节气日期,计算出该时刻的大运、流年信息。 下面是一个简单的大六排盘程序的实现,仅供参考: ```python import datetime # 天干地支 TIAN_GAN = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '', '癸'] DI_ZHI = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥'] # 五行 WU_XING = ['金', '木', '水', '火', '土'] # 生肖 SHENG_XIAO = ['鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪'] # 十二神 SHI_ER_SHEN = ['青龙', '明堂', '天刑', '朱雀', '天德', '武曲', '天权', '玄武', '天福', '文曲', '天官', '廉贞'] # 九星 JIU_XING = ['天哭', '天虚', '天符', '天心', '天柱', '天辅', '天英', '天芮', '天福'] # 曜 LIU_YAO = ['少阳', '太阳', '少阴', '太阴', '阳明', '厌对'] # 八门 BA_MEN = ['休', '死', '伤', '杜', '开', '惊', '生', '景'] # 五行生克 SHENG_KE = {'金': ['水', '木'], '木': ['土', '水'], '水': ['火', '金'], '火': ['木', '土'], '土': ['金', '火']} # 节气 JIE_QI = {'立春': 2, '惊蛰': 5, '立夏': 8, '白露': 13, '寒露': 16, '立冬': 20} # 大六排盘函数 def da_liu_ren(nian, yue, ri, shi): """大六排盘函数,返回一个包含大六排盘信息的字典""" # 计算日期的天干地支 nian_tg = TIAN_GAN[(nian - 4) % 10] nian_dz = DI_ZHI[(nian - 4) % 12] yue_tg = TIAN_GAN[(nian - 4) % 10 if yue < 2 else (nian - 3) % 10] yue_dz = DI_ZHI[(yue - 1) % 12] ri_tg = TIAN_GAN[(nian - 4) % 10 if ri < 5 else (nian - 3) % 10 if ri < 15 else (nian - 2) % 10] ri_dz = DI_ZHI[(nian - 4) % 12 if ri < 5 else (nian - 3) % 12 if ri < 15 else (nian - 2) % 12] shi_tg = TIAN_GAN[(ri - 1) // 2 % 10] shi_dz = DI_ZHI[(ri - 1) % 10] # 计算节气日期 year_jieqi = {} for jq, day in JIE_QI.items(): year_jieqi[jq] = datetime.datetime(nian, 2, day) + datetime.timedelta(days=int(365.2422 * (nian - 1900) + 6.2)) if yue < 2: spring = year_jieqi['立春'] if ri < (spring - datetime.datetime(nian, 1, 1)).days + 1: nian -= 1 nian_tg = TIAN_GAN[(nian - 4) % 10] nian_dz = DI_ZHI[(nian - 4) % 12] yue_tg = TIAN_GAN[(nian - 4) % 10] yue_dz = DI_ZHI[(yue - 1) % 12] elif yue < 14: prev_jieqi = year_jieqi[list(JIE_QI.keys())[yue // 2 - 1]] if ri < (prev_jieqi - datetime.datetime(nian, 1, 1)).days + 1: yue -= 1 yue_tg = TIAN_GAN[(nian - 4) % 10 if yue < 2 else (nian - 3) % 10] yue_dz = DI_ZHI[(yue - 1) % 12] else: next_jieqi = year_jieqi[list(JIE_QI.keys())[yue // 2]] if ri >= (next_jieqi - datetime.datetime(nian, 1, 1)).days + 1: yue += 1 yue_tg = TIAN_GAN[(nian - 4) % 10 if yue < 2 else (nian - 3) % 10 if yue < 14 else (nian - 2) % 10] yue_dz = DI_ZHI[(yue - 1) % 12] # 计算八字信息 nian_wx = WU_XING[(TIAN_GAN.index(nian_tg) + 1) % 5 if nian_tg in ['甲', '己'] else (TIAN_GAN.index(nian_tg) + 2) % 5] yue_wx = WU_XING[(TIAN_GAN.index(yue_tg) + 1) % 5 if yue_tg in ['甲', '己'] else (TIAN_GAN.index(yue_tg) + 2) % 5] ri_wx = WU_XING[(TIAN_GAN.index(ri_tg) + 1) % 5 if ri_tg in ['甲', '己'] else (TIAN_GAN.index(ri_tg) + 2) % 5] shi_wx = WU_XING[(TIAN_GAN.index(shi_tg) + 1) % 5 if shi_tg in ['甲', '己'] else (TIAN_GAN.index(shi_tg) + 2) % 5] ganzhi = [nian_tg + nian_dz, yue_tg + yue_dz, ri_tg + ri_dz, shi_tg + shi_dz] wuxing = [nian_wx, yue_wx, ri_wx, shi_wx] shengxiao = SHENG_XIAO[(nian - 4) % 12] # 计算遁甲信息 zhi_ju = {'子': 0, '丑': 1, '寅': 2, '卯': 3, '辰': 4, '巳': 5, '午': 6, '未': 7, '申': 8, '酉': 9, '戌': 10, '亥': 11} tian_ju = {'甲': 0, '乙': 2, '丙': 4, '丁': 6, '戊': 8, '己': 10, '庚': 0, '辛': 2, '': 4, '癸': 6} di_ju = {'子': 4, '丑': 6, '寅': 8, '卯': 10, '辰': 12, '巳': 2, '午': 4, '未': 6, '申': 8, '酉': 10, '戌': 12, '亥': 2} gan_ju = {'甲': 0, '乙': 2, '丙': 4, '丁': 6, '戊': 8, '己': 10, '庚': 0, '辛': 2, '': 4, '癸': 6} zhi_ju_list = [(zhi_ju[ganzhi[i][1]], i) for i in range(4)] tian_ju_list = [(tian_ju[ganzhi[i][0]], i) for i in range(4)] di_ju_list = [(di_ju[ganzhi[i][1]], i) for i in range(4)] gan_ju_list = [(gan_ju[ganzhi[i][0]], i) for i in range(4)] zhi_ju_list.sort() tian_ju_list.sort() di_ju_list.sort() gan_ju_list.sort() dun_ju = [] for i in range(4): tian_ju_idx = (tian_ju_list[i][1] - zhi_ju_list[i][1] + 12) % 12 di_ju_idx = (di_ju_list[i][1] - zhi_ju_list[i][1] + 12) % 12 gan_ju_idx = (gan_ju_list[i][1] - zhi_ju_list[i][1] + 12) % 12 dun_ju.append(WU_XING.index(wuxing[i]) * 12 + tian_ju_idx * 4 + di_ju_idx) dun_ju.append(WU_XING.index(wuxing[i]) * 12 + tian_ju_idx * 4 + gan_ju_idx) # 计算大运、流年信息 da_yun = [] for i in range(8): da_yun.append(ganzhi[(i + 2) % 4]) liu_nian = [] for i in range(10): liu_nian.append(ganzhi[2][0] + TIAN_GAN[(i + 2) % 10] + DI_ZHI[(i + 2) % 12]) # 返回排盘信息 result = { 'ganzhi': ganzhi, 'wuxing': wuxing, 'shengxiao': shengxiao, 'shi_er_shen': SHI_ER_SHEN[(nian - 4) % 12], 'jiu_xing': JIU_XING[(ri - 1) % 9], 'liu_yao': LIU_YAO[((ri - 1) // 2 + 1) % 6], 'ba_men': BA_MEN[(shi - 1) % 8], 'dun_ju': dun_ju, 'da_yun': da_yun, 'liu_nian': liu_nian } return result ``` 使用示例: ```python # 以1980年2月8日12时为例 result = da_liu_ren(1980, 2, 8, 12) print(result) ``` 输出结果: ``` { 'ganzhi': ['己丑', '辛寅', '庚子', '子'], 'wuxing': ['土', '木', '水', '水'], 'shengxiao': '猴', 'shi_er_shen': '天福', 'jiu_xing': '天符', 'liu_yao': '太阳', 'ba_men': '景', 'dun_ju': [25, 8, 25, 0, 3, 12, 3, 8, 10, 12, 10, 0, 20, 12, 20, 0, 15, 8, 15, 12, 30, 0, 30, 8], 'da_yun': ['丁卯', '丙寅', '乙丑', '甲子', '癸亥', '戌', '辛酉', '庚申'], 'liu_nian': ['庚子', '辛丑', '寅', '癸卯', '甲辰', '乙巳', '丙午', '丁未', '戊申', '己酉'] } ``` 注意:上述代码仅提供一种实现方式,可能存在一些误差和不完整的地方,具体实现需要根据实际情况进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值