mingpan 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -44
- package/dist/core/qimen/FlyingRule.d.ts +60 -0
- package/dist/core/qimen/FlyingRule.d.ts.map +1 -0
- package/dist/core/qimen/FlyingRule.js +94 -0
- package/dist/core/qimen/FlyingRule.js.map +1 -0
- package/dist/core/qimen/GongMapping.d.ts +29 -0
- package/dist/core/qimen/GongMapping.d.ts.map +1 -0
- package/dist/core/qimen/GongMapping.js +83 -0
- package/dist/core/qimen/GongMapping.js.map +1 -0
- package/dist/core/qimen/RotatingRule.d.ts +76 -0
- package/dist/core/qimen/RotatingRule.d.ts.map +1 -0
- package/dist/core/qimen/RotatingRule.js +126 -0
- package/dist/core/qimen/RotatingRule.js.map +1 -0
- package/dist/core/qimen/YinYangDunCalculator.d.ts +28 -0
- package/dist/core/qimen/YinYangDunCalculator.d.ts.map +1 -0
- package/dist/core/qimen/YinYangDunCalculator.js +79 -0
- package/dist/core/qimen/YinYangDunCalculator.js.map +1 -0
- package/dist/core/qimen/index.d.ts +10 -0
- package/dist/core/qimen/index.d.ts.map +1 -0
- package/dist/core/qimen/index.js +58 -0
- package/dist/core/qimen/index.js.map +1 -0
- package/dist/core/qimen/types.d.ts +19 -0
- package/dist/core/qimen/types.d.ts.map +1 -0
- package/dist/core/qimen/types.js +7 -0
- package/dist/core/qimen/types.js.map +1 -0
- package/dist/index.js +269 -2
- package/dist/index.js.map +1 -1
- package/dist/output/qimenTextRenderer.d.ts +40 -0
- package/dist/output/qimenTextRenderer.d.ts.map +1 -0
- package/dist/output/qimenTextRenderer.js +363 -0
- package/dist/output/qimenTextRenderer.js.map +1 -0
- package/dist/services/qimen/QimenService.d.ts +93 -0
- package/dist/services/qimen/QimenService.d.ts.map +1 -0
- package/dist/services/qimen/QimenService.js +427 -0
- package/dist/services/qimen/QimenService.js.map +1 -0
- package/dist/services/qimen/calculators/BaMenCalculator.d.ts +53 -0
- package/dist/services/qimen/calculators/BaMenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/BaMenCalculator.js +105 -0
- package/dist/services/qimen/calculators/BaMenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/BaShenCalculator.d.ts +34 -0
- package/dist/services/qimen/calculators/BaShenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/BaShenCalculator.js +57 -0
- package/dist/services/qimen/calculators/BaShenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/GeJuCalculator.d.ts +141 -0
- package/dist/services/qimen/calculators/GeJuCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/GeJuCalculator.js +711 -0
- package/dist/services/qimen/calculators/GeJuCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.d.ts +56 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.js +98 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.d.ts +54 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.js +117 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JuShuCalculator.d.ts +57 -0
- package/dist/services/qimen/calculators/JuShuCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JuShuCalculator.js +115 -0
- package/dist/services/qimen/calculators/JuShuCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.d.ts +117 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.js +237 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts +50 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js +86 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.d.ts +80 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.js +300 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/YongShenCalculator.d.ts +78 -0
- package/dist/services/qimen/calculators/YongShenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/YongShenCalculator.js +497 -0
- package/dist/services/qimen/calculators/YongShenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/ZeRiCalculator.d.ts +78 -0
- package/dist/services/qimen/calculators/ZeRiCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/ZeRiCalculator.js +431 -0
- package/dist/services/qimen/calculators/ZeRiCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts +118 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.js +260 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.js.map +1 -0
- package/dist/services/qimen/data/constants.d.ts +105 -0
- package/dist/services/qimen/data/constants.d.ts.map +1 -0
- package/dist/services/qimen/data/constants.js +295 -0
- package/dist/services/qimen/data/constants.js.map +1 -0
- package/dist/services/qimen/data/shensha-rules.d.ts +177 -0
- package/dist/services/qimen/data/shensha-rules.d.ts.map +1 -0
- package/dist/services/qimen/data/shensha-rules.js +397 -0
- package/dist/services/qimen/data/shensha-rules.js.map +1 -0
- package/dist/services/qimen/data/yongshen-rules.d.ts +115 -0
- package/dist/services/qimen/data/yongshen-rules.d.ts.map +1 -0
- package/dist/services/qimen/data/yongshen-rules.js +365 -0
- package/dist/services/qimen/data/yongshen-rules.js.map +1 -0
- package/dist/services/qimen/index.d.ts +20 -0
- package/dist/services/qimen/index.d.ts.map +1 -0
- package/dist/services/qimen/index.js +43 -0
- package/dist/services/qimen/index.js.map +1 -0
- package/dist/services/qimen/types.d.ts +390 -0
- package/dist/services/qimen/types.d.ts.map +1 -0
- package/dist/services/qimen/types.js +20 -0
- package/dist/services/qimen/types.js.map +1 -0
- package/dist/services/qimen/utils/gongUtils.d.ts +80 -0
- package/dist/services/qimen/utils/gongUtils.d.ts.map +1 -0
- package/dist/services/qimen/utils/gongUtils.js +164 -0
- package/dist/services/qimen/utils/gongUtils.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 转盘式奇门计算器
|
|
4
|
+
* Rotating style Qimen calculator (following《神奇之门》)
|
|
5
|
+
*
|
|
6
|
+
* 转盘式核心规则:
|
|
7
|
+
* 1. 三奇六仪按物理方向旋转(非洛书飞布)
|
|
8
|
+
* 2. 阳遁顺转(物理顺时针):1→8→3→4→9→2→7→6
|
|
9
|
+
* 3. 阴遁逆转(物理逆时针):1→6→7→2→9→4→3→8
|
|
10
|
+
* 4. 八门、九星同样按物理方向转动
|
|
11
|
+
* 5. 中宫寄坤二
|
|
12
|
+
* 6. 天禽星随天芮星(寄坤二宫)
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ZhuanPanCalculator = void 0;
|
|
16
|
+
const constants_1 = require("../data/constants");
|
|
17
|
+
// ============= 转盘式计算器 =============
|
|
18
|
+
/**
|
|
19
|
+
* 转盘式奇门计算器
|
|
20
|
+
* 实现《神奇之门》中的转盘式排盘法
|
|
21
|
+
*/
|
|
22
|
+
class ZhuanPanCalculator {
|
|
23
|
+
/**
|
|
24
|
+
* 计算转盘式天盘布局
|
|
25
|
+
* @param diPanGanGong 地盘干->宫位映射
|
|
26
|
+
* @param ganZhi 时干支(时盘)、日干支(日盘)、月干支(月盘)或年干支(年盘)
|
|
27
|
+
* @param yinYangDun 阴阳遁
|
|
28
|
+
* @returns 天盘各宫的干
|
|
29
|
+
*
|
|
30
|
+
* 原理(转盘式):
|
|
31
|
+
* 1. 找到时干(或日干/月干/年干)在地盘的落宫
|
|
32
|
+
* 2. 计算该宫到值符星原始宫的旋转步数
|
|
33
|
+
* 3. 将整个地盘旋转相应步数
|
|
34
|
+
* 4. 阳遁顺时针旋转,阴遁逆时针旋转
|
|
35
|
+
*/
|
|
36
|
+
static calculateTianPan(diPanGanGong, ganZhi, yinYangDun) {
|
|
37
|
+
const isYang = yinYangDun === '阳遁';
|
|
38
|
+
const gan = ganZhi.charAt(0);
|
|
39
|
+
// 时干对应的遁甲干
|
|
40
|
+
const dunGan = this.getDunGan(gan, ganZhi);
|
|
41
|
+
// 找到遁甲干在地盘的落宫
|
|
42
|
+
let startGong = diPanGanGong[dunGan];
|
|
43
|
+
if (startGong === 5) {
|
|
44
|
+
startGong = constants_1.ZHONG_GONG_JI_ZHUAN;
|
|
45
|
+
}
|
|
46
|
+
// 转盘式:整体旋转
|
|
47
|
+
// 计算需要旋转的步数:从遁甲干原始宫位到当前地盘落宫的步数
|
|
48
|
+
const gongGan = {};
|
|
49
|
+
const ganGong = {};
|
|
50
|
+
// 转盘式布局:从起始宫开始,按物理方向旋转布入三奇六仪
|
|
51
|
+
for (let i = 0; i < 9; i++) {
|
|
52
|
+
const currentGan = constants_1.SAN_QI_LIU_YI[i];
|
|
53
|
+
const gong = this.getGongByRotation(startGong, i, isYang);
|
|
54
|
+
gongGan[gong] = currentGan;
|
|
55
|
+
ganGong[currentGan] = gong;
|
|
56
|
+
}
|
|
57
|
+
return { gongGan, ganGong };
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 计算转盘式八门布局
|
|
61
|
+
* @param zhiFuGong 值符星落宫(旬首遁干在地盘的宫位)
|
|
62
|
+
* @param hourZhi 时支
|
|
63
|
+
* @param yinYangDun 阴阳遁
|
|
64
|
+
* @returns 八门布局
|
|
65
|
+
*
|
|
66
|
+
* 原理(转盘式):
|
|
67
|
+
* 1. 确定值使门(值符星原始宫位对应的门)
|
|
68
|
+
* 2. 值使门从值符星落宫起,按时辰数旋转
|
|
69
|
+
* 3. 阳遁顺时针,阴遁逆时针
|
|
70
|
+
* 4. 其他七门依次排列(按物理方向旋转)
|
|
71
|
+
*/
|
|
72
|
+
static calculateBaMen(zhiFuGong, hourZhi, yinYangDun) {
|
|
73
|
+
const isYang = yinYangDun === '阳遁';
|
|
74
|
+
// 1. 确定值使门(值符星原始宫位对应的门)
|
|
75
|
+
const zhiShiMen = this.getMenByGong(zhiFuGong);
|
|
76
|
+
const zhiShiGong = constants_1.BA_MEN_GONG[zhiShiMen];
|
|
77
|
+
// 2. 计算时辰数(子时为1)
|
|
78
|
+
const hourNum = constants_1.DI_ZHI.indexOf(hourZhi) + 1;
|
|
79
|
+
// 3. 计算值使门落宫(转盘式旋转)
|
|
80
|
+
const zhiShiLuoGong = (0, constants_1.rotate)(zhiFuGong, hourNum - 1, isYang);
|
|
81
|
+
// 4. 计算所有八门的落宫(转盘式)
|
|
82
|
+
const gongMen = this.calculateAllMenZhuanPan(zhiShiMen, zhiShiLuoGong, isYang);
|
|
83
|
+
return {
|
|
84
|
+
gongMen,
|
|
85
|
+
zhiShiMen,
|
|
86
|
+
zhiShiGong,
|
|
87
|
+
zhiShiLuoGong,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* 计算转盘式九星布局
|
|
92
|
+
* @param xunShouGong 旬首遁干在地盘的宫位
|
|
93
|
+
* @param hourZhi 时支
|
|
94
|
+
* @param yinYangDun 阴阳遁
|
|
95
|
+
* @returns 九星布局
|
|
96
|
+
*
|
|
97
|
+
* 原理(转盘式):
|
|
98
|
+
* 1. 确定值符星(旬首落宫对应的星)
|
|
99
|
+
* 2. 值符星从地盘旬首落宫起,按时辰数旋转
|
|
100
|
+
* 3. 阳遁顺时针,阴遁逆时针
|
|
101
|
+
* 4. 天禽星(中五宫)随天芮星,或寄坤二
|
|
102
|
+
*/
|
|
103
|
+
static calculateJiuXing(xunShouGong, hourZhi, yinYangDun) {
|
|
104
|
+
const isYang = yinYangDun === '阳遁';
|
|
105
|
+
// 1. 确定值符星(旬首落宫对应的星)
|
|
106
|
+
const zhiFuXing = this.getXingByGong(xunShouGong);
|
|
107
|
+
const zhiFuGong = constants_1.JIU_XING_GONG[zhiFuXing];
|
|
108
|
+
// 2. 计算时辰数(子时为1)
|
|
109
|
+
const hourNum = constants_1.DI_ZHI.indexOf(hourZhi) + 1;
|
|
110
|
+
// 3. 计算值符星落宫(转盘式旋转)
|
|
111
|
+
const zhiFuLuoGong = (0, constants_1.rotate)(xunShouGong, hourNum - 1, isYang);
|
|
112
|
+
// 4. 计算所有九星的落宫(转盘式)
|
|
113
|
+
const gongXing = this.calculateAllXingZhuanPan(zhiFuXing, zhiFuLuoGong, isYang);
|
|
114
|
+
return {
|
|
115
|
+
gongXing,
|
|
116
|
+
zhiFuXing,
|
|
117
|
+
zhiFuGong,
|
|
118
|
+
zhiFuLuoGong,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
// ============= 私有辅助方法 =============
|
|
122
|
+
/**
|
|
123
|
+
* 获取遁甲干
|
|
124
|
+
* 甲遁于六仪之下,需要根据干支确定
|
|
125
|
+
*/
|
|
126
|
+
static getDunGan(gan, ganZhi) {
|
|
127
|
+
if (gan !== '甲') {
|
|
128
|
+
return gan;
|
|
129
|
+
}
|
|
130
|
+
// 甲时,需要找到旬首对应的六仪
|
|
131
|
+
const xunShou = (0, constants_1.getXunShou)(ganZhi);
|
|
132
|
+
return (0, constants_1.getLiuYiGan)(xunShou);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 根据起始宫位和步数计算目标宫位(转盘式9宫旋转)
|
|
136
|
+
* 包含中宫处理
|
|
137
|
+
*/
|
|
138
|
+
static getGongByRotation(startGong, steps, isYang) {
|
|
139
|
+
// 中宫寄坤二
|
|
140
|
+
if (startGong === 5) {
|
|
141
|
+
startGong = constants_1.ZHONG_GONG_JI_ZHUAN;
|
|
142
|
+
}
|
|
143
|
+
// 对于9宫布局(含中宫),需要特殊处理
|
|
144
|
+
// 前4步走外圈前半,第5步到中宫,后4步走外圈后半
|
|
145
|
+
if (steps === 4) {
|
|
146
|
+
return 5; // 第5个位置是中宫
|
|
147
|
+
}
|
|
148
|
+
// 调整步数:跳过中宫的计算
|
|
149
|
+
const adjustedSteps = steps > 4 ? steps - 1 : steps;
|
|
150
|
+
if (isYang) {
|
|
151
|
+
const startIdx = (0, constants_1.getPhysicalClockwiseIndex)(startGong);
|
|
152
|
+
return (0, constants_1.getPhysicalClockwiseGong)(startIdx + adjustedSteps);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
const startIdx = (0, constants_1.getPhysicalCounterClockwiseIndex)(startGong);
|
|
156
|
+
return (0, constants_1.getPhysicalCounterClockwiseGong)(startIdx + adjustedSteps);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* 根据宫位获取原始门
|
|
161
|
+
*/
|
|
162
|
+
static getMenByGong(gong) {
|
|
163
|
+
const actualGong = gong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : gong;
|
|
164
|
+
for (const [men, menGong] of Object.entries(constants_1.BA_MEN_GONG)) {
|
|
165
|
+
if (menGong === actualGong) {
|
|
166
|
+
return men;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return '死'; // 坤二宫默认死门
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* 根据宫位获取原始星
|
|
173
|
+
*/
|
|
174
|
+
static getXingByGong(gong) {
|
|
175
|
+
for (const [xing, xingGong] of Object.entries(constants_1.JIU_XING_GONG)) {
|
|
176
|
+
if (xingGong === gong) {
|
|
177
|
+
return xing;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// 中宫为天禽
|
|
181
|
+
if (gong === 5) {
|
|
182
|
+
return '禽';
|
|
183
|
+
}
|
|
184
|
+
return '芮'; // 默认天芮
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* 计算所有八门的落宫(转盘式)
|
|
188
|
+
* 整体按物理方向旋转
|
|
189
|
+
*/
|
|
190
|
+
static calculateAllMenZhuanPan(zhiShiMen, zhiShiLuoGong, isYang) {
|
|
191
|
+
const gongMen = {};
|
|
192
|
+
// 找到值使门在八门顺序中的索引
|
|
193
|
+
const zhiShiIdx = constants_1.BA_MEN_ORDER.indexOf(zhiShiMen);
|
|
194
|
+
// 获取值使门落宫索引
|
|
195
|
+
let actualLuoGong = zhiShiLuoGong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : zhiShiLuoGong;
|
|
196
|
+
// 转盘式:依次排列八门,按物理方向旋转
|
|
197
|
+
for (let i = 0; i < 8; i++) {
|
|
198
|
+
const menIdx = (zhiShiIdx + i) % 8;
|
|
199
|
+
const men = constants_1.BA_MEN_ORDER[menIdx];
|
|
200
|
+
// 转盘式旋转
|
|
201
|
+
const gong = (0, constants_1.rotate)(actualLuoGong, i, isYang);
|
|
202
|
+
gongMen[gong] = men;
|
|
203
|
+
}
|
|
204
|
+
// 中宫寄坤二,使用坤二的门
|
|
205
|
+
gongMen[5] = gongMen[constants_1.ZHONG_GONG_JI_ZHUAN];
|
|
206
|
+
return gongMen;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* 计算所有九星的落宫(转盘式)
|
|
210
|
+
* 整体按物理方向旋转,天禽星随天芮星
|
|
211
|
+
*/
|
|
212
|
+
static calculateAllXingZhuanPan(zhiFuXing, zhiFuLuoGong, isYang) {
|
|
213
|
+
const gongXing = {};
|
|
214
|
+
// 九星顺序(不含天禽,因为天禽随天芮)
|
|
215
|
+
const xingOrderWithoutQin = ['蓬', '芮', '冲', '辅', '心', '柱', '任', '英'];
|
|
216
|
+
// 找到值符星在顺序中的索引
|
|
217
|
+
let zhiFuIdx = xingOrderWithoutQin.indexOf(zhiFuXing);
|
|
218
|
+
if (zhiFuIdx === -1) {
|
|
219
|
+
// 如果值符星是天禽,则以天芮为准
|
|
220
|
+
zhiFuIdx = xingOrderWithoutQin.indexOf('芮');
|
|
221
|
+
}
|
|
222
|
+
// 获取值符星落宫
|
|
223
|
+
let actualLuoGong = zhiFuLuoGong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : zhiFuLuoGong;
|
|
224
|
+
// 转盘式:依次排列八星,按物理方向旋转
|
|
225
|
+
for (let i = 0; i < 8; i++) {
|
|
226
|
+
const xingIdx = (zhiFuIdx + i) % 8;
|
|
227
|
+
const xing = xingOrderWithoutQin[xingIdx];
|
|
228
|
+
// 转盘式旋转
|
|
229
|
+
const gong = (0, constants_1.rotate)(actualLuoGong, i, isYang);
|
|
230
|
+
gongXing[gong] = xing;
|
|
231
|
+
}
|
|
232
|
+
// 天禽星寄中宫,实际显示时随天芮
|
|
233
|
+
gongXing[5] = '禽';
|
|
234
|
+
return gongXing;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* 根据宫位找门
|
|
238
|
+
*/
|
|
239
|
+
static findMenByGong(gongMen, gong) {
|
|
240
|
+
return gongMen[gong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : gong];
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* 根据宫位找星
|
|
244
|
+
*/
|
|
245
|
+
static findXingByGong(gongXing, gong) {
|
|
246
|
+
if (gong === 5) {
|
|
247
|
+
return '禽';
|
|
248
|
+
}
|
|
249
|
+
return gongXing[gong];
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* 根据天干找天盘落宫
|
|
253
|
+
*/
|
|
254
|
+
static findGongByGan(ganGong, gan) {
|
|
255
|
+
const gong = ganGong[gan];
|
|
256
|
+
return gong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : gong;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
exports.ZhuanPanCalculator = ZhuanPanCalculator;
|
|
260
|
+
//# sourceMappingURL=ZhuanPanCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZhuanPanCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/ZhuanPanCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 奇门遁甲常量数据
|
|
3
|
+
*
|
|
4
|
+
* 注意:飞宫规则、九宫映射、阴阳遁计算等核心逻辑已迁移到 core/qimen/
|
|
5
|
+
* 本文件重新导出核心常量,并保留奇门业务专用常量
|
|
6
|
+
*/
|
|
7
|
+
import type { TianGan, DiZhi, GongWei, BaMen, JiuXing, BaShen, WuXing, YuanType } from '../types';
|
|
8
|
+
export { LUOSHU_ORDER, LUOSHU_ORDER_9, ZHONG_GONG_JI, getLuoShuIndex, getLuoShuGong, getLuoShuIndex9, getLuoShuGong9, flyForward, flyBackward, PHYSICAL_CLOCKWISE_ORDER, PHYSICAL_COUNTER_CLOCKWISE_ORDER, ZHONG_GONG_JI_ZHUAN, getPhysicalClockwiseIndex, getPhysicalClockwiseGong, getPhysicalCounterClockwiseIndex, getPhysicalCounterClockwiseGong, rotate, getRotationSteps, GONG_NAMES, GONG_WUXING, DI_ZHI_GONG, CHONG_GONG_MAP, GAN_HE_MAP, JIEQI_JU_MAP, getYinYangDun, getJuShu, } from '../../../core/qimen';
|
|
9
|
+
/** 十天干 */
|
|
10
|
+
export declare const TIAN_GAN: TianGan[];
|
|
11
|
+
/** 十二地支 */
|
|
12
|
+
export declare const DI_ZHI: DiZhi[];
|
|
13
|
+
/**
|
|
14
|
+
* 三奇六仪顺序 (戊-癸-壬-辛-庚-己-丁-丙-乙)
|
|
15
|
+
* 甲遁于戊下,所以顺序从戊开始
|
|
16
|
+
*/
|
|
17
|
+
export declare const SAN_QI_LIU_YI: TianGan[];
|
|
18
|
+
/**
|
|
19
|
+
* 六仪(甲子戊、甲戌己、甲申庚、甲午辛、甲辰壬、甲寅癸)
|
|
20
|
+
* 旬首 -> 对应的遁甲干
|
|
21
|
+
*/
|
|
22
|
+
export declare const LIU_YI_MAP: Record<string, TianGan>;
|
|
23
|
+
/**
|
|
24
|
+
* 六十甲子表
|
|
25
|
+
*/
|
|
26
|
+
export declare const JIA_ZI_60: string[];
|
|
27
|
+
/**
|
|
28
|
+
* 旬空表(每旬的空亡地支)
|
|
29
|
+
*/
|
|
30
|
+
export declare const XUN_KONG: Record<string, [DiZhi, DiZhi]>;
|
|
31
|
+
/**
|
|
32
|
+
* 八门原始宫位
|
|
33
|
+
* 休门居坎1、生门居艮8、伤门居震3、杜门居巽4
|
|
34
|
+
* 景门居离9、死门居坤2、惊门居兑7、开门居乾6
|
|
35
|
+
*/
|
|
36
|
+
export declare const BA_MEN_GONG: Record<BaMen, GongWei>;
|
|
37
|
+
/** 八门顺序(按宫位顺序) */
|
|
38
|
+
export declare const BA_MEN_ORDER: BaMen[];
|
|
39
|
+
/** 八门全称 */
|
|
40
|
+
export declare const BA_MEN_FULL: Record<BaMen, string>;
|
|
41
|
+
/**
|
|
42
|
+
* 九星原始宫位
|
|
43
|
+
* 天蓬居坎1、天芮居坤2、天冲居震3、天辅居巽4
|
|
44
|
+
* 天禽居中5、天心居乾6、天柱居兑7、天任居艮8、天英居离9
|
|
45
|
+
*/
|
|
46
|
+
export declare const JIU_XING_GONG: Record<JiuXing, GongWei>;
|
|
47
|
+
/** 九星顺序(按宫位顺序) */
|
|
48
|
+
export declare const JIU_XING_ORDER: JiuXing[];
|
|
49
|
+
/** 九星全称 */
|
|
50
|
+
export declare const JIU_XING_FULL: Record<JiuXing, string>;
|
|
51
|
+
/**
|
|
52
|
+
* 八神顺序
|
|
53
|
+
* 阳遁:值符-腾蛇-太阴-六合-白虎-玄武-九地-九天(顺时针)
|
|
54
|
+
* 阴遁:值符-腾蛇-太阴-六合-白虎-玄武-九地-九天(逆时针)
|
|
55
|
+
*/
|
|
56
|
+
export declare const BA_SHEN_ORDER: BaShen[];
|
|
57
|
+
/** 八神全称 */
|
|
58
|
+
export declare const BA_SHEN_FULL: Record<BaShen, string>;
|
|
59
|
+
/**
|
|
60
|
+
* 符头表:根据日干支确定属于哪个旬
|
|
61
|
+
*/
|
|
62
|
+
export declare const FU_TOU_MAP: Record<string, string>;
|
|
63
|
+
/**
|
|
64
|
+
* 天干五行
|
|
65
|
+
*/
|
|
66
|
+
export declare const TIAN_GAN_WUXING: Record<TianGan, WuXing>;
|
|
67
|
+
/**
|
|
68
|
+
* 马星地支
|
|
69
|
+
* 日支 -> 马星所在地支
|
|
70
|
+
*/
|
|
71
|
+
export declare const MA_XING: Record<DiZhi, DiZhi>;
|
|
72
|
+
/**
|
|
73
|
+
* 奇仪组合格局定义
|
|
74
|
+
* 天盘干 + 地盘干 的特定组合产生的吉凶格局
|
|
75
|
+
*
|
|
76
|
+
* 注意:甲不上盘,甲遁于六仪,故不检测甲
|
|
77
|
+
*/
|
|
78
|
+
export interface QiYiGeJuDef {
|
|
79
|
+
tianGan: TianGan;
|
|
80
|
+
diGan: TianGan;
|
|
81
|
+
name: string;
|
|
82
|
+
type: '吉格' | '凶格';
|
|
83
|
+
description: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 奇仪组合格局映射表
|
|
87
|
+
*/
|
|
88
|
+
export declare const QI_YI_GEJU_MAP: QiYiGeJuDef[];
|
|
89
|
+
/**
|
|
90
|
+
* 根据干支获取旬首
|
|
91
|
+
*/
|
|
92
|
+
export declare function getXunShou(ganZhi: string): string;
|
|
93
|
+
/**
|
|
94
|
+
* 获取旬空
|
|
95
|
+
*/
|
|
96
|
+
export declare function getXunKong(xunShou: string): [DiZhi, DiZhi];
|
|
97
|
+
/**
|
|
98
|
+
* 获取六仪遁干
|
|
99
|
+
*/
|
|
100
|
+
export declare function getLiuYiGan(xunShou: string): TianGan;
|
|
101
|
+
/**
|
|
102
|
+
* 根据元获取局数索引
|
|
103
|
+
*/
|
|
104
|
+
export declare function getYuanIndex(yuan: YuanType): 0 | 1 | 2;
|
|
105
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/data/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACT,MAAM,UAAU,CAAC;AAIlB,OAAO,EAEL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EAEX,wBAAwB,EACxB,gCAAgC,EAChC,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,EACN,gBAAgB,EAEhB,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EAEV,YAAY,EACZ,aAAa,EACb,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAI7B,UAAU;AACV,eAAO,MAAM,QAAQ,EAAE,OAAO,EAE7B,CAAC;AAEF,WAAW;AACX,eAAO,MAAM,MAAM,EAAE,KAAK,EAEzB,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,EAElC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAO9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,EAO7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAOnD,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAS9C,CAAC;AAEF,kBAAkB;AAClB,eAAO,MAAM,YAAY,EAAE,KAAK,EAA6C,CAAC;AAE9E,WAAW;AACX,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAS7C,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAUlD,CAAC;AAEF,kBAAkB;AAClB,eAAO,MAAM,cAAc,EAAE,OAAO,EAAkD,CAAC;AAEvF,WAAW;AACX,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAUjD,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,EAA6C,CAAC;AAEhF,WAAW;AACX,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAS/C,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa1C,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAWnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAaxC,CAAC;AAIF;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,EAwCvC,CAAC;AAIF;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAMtD"}
|