getLuYangTuoMaIndex function
Map<String, int>
getLuYangTuoMaIndex(
- HeavenlyStemName heavenlyStemName,
- EarthlyBranchName earthlyBranchName
按年干支计算禄存、擎羊,陀罗、天马的索引
定禄存、羊、陀诀(按年干)
- 甲禄到寅宫,乙禄居卯府。
- 丙戊禄在巳,丁己禄在午。
- 庚禄定居申,辛禄酉上补。
- 壬禄亥中藏,癸禄居子户。
- 禄前羊刃当,禄后陀罗府。
安天马(按年支),天马只会出现在四马地【寅申巳亥】
- 寅午戍流马在申,申子辰流马在寅。
- 巳酉丑流马在亥,亥卯未流马在巳。
@param heavenlyStemName 天干 @param earthlyBranchName 地支 @returns 禄存、擎羊,陀罗、天马的索引
Implementation
Map<String, int> getLuYangTuoMaIndex(
HeavenlyStemName heavenlyStemName,
EarthlyBranchName earthlyBranchName,
) {
int luIndex = -1; // 禄存索引
int maIndex = 0; // 天马索引
switch (earthlyBranchName) {
case EarthlyBranchName.yinEarthly:
case EarthlyBranchName.wuEarthly:
case EarthlyBranchName.xuEarthly:
maIndex = fixEarthlyBranchIndex(EarthlyBranchName.shenEarthly);
break;
case EarthlyBranchName.shenEarthly:
case EarthlyBranchName.ziEarthly:
case EarthlyBranchName.chenEarthly:
maIndex = fixEarthlyBranchIndex(EarthlyBranchName.yinEarthly);
break;
case EarthlyBranchName.siEarthly:
case EarthlyBranchName.youEarthly:
case EarthlyBranchName.chouEarthly:
maIndex = fixEarthlyBranchIndex(EarthlyBranchName.haiEarthly);
break;
case EarthlyBranchName.haiEarthly:
case EarthlyBranchName.maoEarthly:
case EarthlyBranchName.weiEarthly:
maIndex = fixEarthlyBranchIndex(EarthlyBranchName.siEarthly);
break;
}
switch (heavenlyStemName) {
case HeavenlyStemName.jiaHeavenly:
luIndex = fixEarthlyBranchIndex(EarthlyBranchName.yinEarthly);
break;
case HeavenlyStemName.yiHeavenly:
luIndex = fixEarthlyBranchIndex(EarthlyBranchName.maoEarthly);
break;
case HeavenlyStemName.bingHeavenly:
case HeavenlyStemName.wuHeavenly:
luIndex = fixEarthlyBranchIndex(EarthlyBranchName.siEarthly);
break;
case HeavenlyStemName.dingHeavenly:
case HeavenlyStemName.jiHeavenly:
luIndex = fixEarthlyBranchIndex(EarthlyBranchName.wuEarthly);
break;
case HeavenlyStemName.gengHeavenly:
luIndex = fixEarthlyBranchIndex(EarthlyBranchName.shenEarthly);
break;
case HeavenlyStemName.xinHeavenly:
luIndex = fixEarthlyBranchIndex(EarthlyBranchName.youEarthly);
break;
case HeavenlyStemName.renHeavenly:
luIndex = fixEarthlyBranchIndex(EarthlyBranchName.haiEarthly);
break;
case HeavenlyStemName.guiHeavenly:
luIndex = fixEarthlyBranchIndex(EarthlyBranchName.ziEarthly);
break;
}
return {
'luIndex': luIndex,
'maIndex': maIndex,
'yangIndex': fixIndex(luIndex + 1),
'tuoIndex': fixIndex(luIndex - 1),
};
}