getBoShi12 function
博士12神。
从禄存起,阳男阴女顺行,阴男阳女逆行。安博士、力士、青龙、小耗、将军、奏书、飞廉、喜神、病符、大耗、伏兵、官府。
@param solarDateStr 阳历日期字符串 @param gender 性别【男|女】 @returns 博士12神从寅宫开始的顺序
Implementation
List<StarName> getBoShi12(String solarDateStr, GenderName gender) {
final yearly =
getHeavenlyStemAndEarthlyBranchSolarDate(
solarDateStr,
0,
getConfig().yearDivide,
).yearly;
final heavenlyStem = getMyHeavenlyStemNameFrom(yearly[0]);
final earthlyBranch = getMyEarthlyBranchNameFrom(yearly[1]);
const stars = [
boShi,
liShi,
qingLong,
xiaoHao,
jiangJun,
zouShu,
flyLian,
xiShen,
bingFu,
daHao,
fuBing,
guanFu,
];
int luIndex =
getLuYangTuoMaIndex(heavenlyStem, earthlyBranch)["luIndex"] ?? -1;
List<StarName> boshi12 = List.filled(12, StarName.tai);
for (int i = 0; i < stars.length; i++) {
int idx = fixIndex(
genderMap[gender.key] == earthlyBranchesMap[earthlyBranch.key]?["yinYang"]
? luIndex + i
: luIndex - i,
);
boshi12[idx] = getStarNameFrom(stars[i]);
}
return boshi12;
}