v1.2.10.0 修正胎神数据;增加福神流派。

This commit is contained in:
6tail
2021-11-15 16:25:46 +08:00
parent a7b9718e68
commit 5a5bba189f
5 changed files with 116 additions and 21 deletions

View File

@@ -1135,7 +1135,17 @@ namespace com.nlf.calendar
/// <returns>福神方位,如艮</returns>
public string getDayPositionFu()
{
return LunarUtil.POSITION_FU[dayGanIndex + 1];
return getDayPositionFu(2);
}
/// <summary>
/// 获取日福神方位
/// </summary>
/// <param name="sect">流派可选1或2</param>
/// <returns>福神方位,如艮</returns>
public string getDayPositionFu(int sect)
{
return (1 == sect ? LunarUtil.POSITION_FU : LunarUtil.POSITION_FU_2)[dayGanIndex + 1];
}
/// <summary>
@@ -1144,7 +1154,17 @@ namespace com.nlf.calendar
/// <returns>福神方位描述,如东北</returns>
public string getDayPositionFuDesc()
{
return LunarUtil.POSITION_DESC[getDayPositionFu()];
return getDayPositionFuDesc(2);
}
/// <summary>
/// 获取日福神方位描述
/// </summary>
/// <param name="sect">流派可选1或2</param>
/// <returns>福神方位描述,如东北</returns>
public string getDayPositionFuDesc(int sect)
{
return LunarUtil.POSITION_DESC[getDayPositionFu(sect)];
}
/// <summary>
@@ -1225,7 +1245,17 @@ namespace com.nlf.calendar
/// <returns>福神方位,如艮</returns>
public string getTimePositionFu()
{
return LunarUtil.POSITION_FU[timeGanIndex + 1];
return getTimePositionFu(2);
}
/// <summary>
/// 获取时辰福神方位
/// </summary>
/// <param name="sect">流派可选1或2</param>
/// <returns>福神方位,如艮</returns>
public string getTimePositionFu(int sect)
{
return (1 == sect ? LunarUtil.POSITION_FU : LunarUtil.POSITION_FU_2)[timeGanIndex + 1];
}
/// <summary>
@@ -1234,7 +1264,17 @@ namespace com.nlf.calendar
/// <returns>福神方位描述,如东北</returns>
public string getTimePositionFuDesc()
{
return LunarUtil.POSITION_DESC[getTimePositionFu()];
return getTimePositionFuDesc(2);
}
/// <summary>
/// 获取时辰福神方位描述
/// </summary>
/// <param name="sect">流派可选1或2</param>
/// <returns>福神方位描述,如东北</returns>
public string getTimePositionFuDesc(int sect)
{
return LunarUtil.POSITION_DESC[getTimePositionFu(sect)];
}
/// <summary>
@@ -1613,12 +1653,7 @@ namespace com.nlf.calendar
/// <returns>逐日胎神方位</returns>
public string getDayPositionTai()
{
int offset = dayGanIndex - dayZhiIndex;
if (offset < 0)
{
offset += 12;
}
return LunarUtil.POSITION_TAI_DAY[offset * 5 + dayGanIndex];
return LunarUtil.POSITION_TAI_DAY[LunarUtil.getJiaZiIndex(getDayInGanZhi())];
}
/// <summary>

View File

@@ -147,21 +147,41 @@ namespace com.nlf.calendar
}
/// <summary>
/// 获取时辰福神方位
/// 获取时辰福神方位流派2
/// </summary>
/// <returns>福神方位,如艮</returns>
public string getPositionFu()
{
return LunarUtil.POSITION_FU[ganIndex + 1];
return getPositionFu(2);
}
/// <summary>
/// 获取时辰福神方位
/// </summary>
/// <param name="sect">流派可选1或2</param>
/// <returns>福神方位,如艮</returns>
public string getPositionFu(int sect)
{
return (1 == sect ? LunarUtil.POSITION_FU : LunarUtil.POSITION_FU_2)[ganIndex + 1];
}
/// <summary>
/// 获取时辰福神方位描述流派2
/// </summary>
/// <returns>福神方位描述,如东北</returns>
public string getPositionFuDesc()
{
return getPositionFuDesc(2);
}
/// <summary>
/// 获取时辰福神方位描述
/// </summary>
/// <param name="sect">流派可选1或2</param>
/// <returns>福神方位描述,如东北</returns>
public string getPositionFuDesc()
public string getPositionFuDesc(int sect)
{
return LunarUtil.POSITION_DESC[getPositionFu()];
return LunarUtil.POSITION_DESC[getPositionFu(sect)];
}
/// <summary>

View File

@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
//
// 可以指定所有这些值,也可以使用“修订号”和“内部版本号”的默认值,
// 方法是按如下所示使用“*”:
[assembly: AssemblyVersion("1.2.9.0")]
[assembly: AssemblyFileVersion("1.2.9.0")]
[assembly: AssemblyVersion("1.2.10.0")]
[assembly: AssemblyFileVersion("1.2.10.0")]

View File

@@ -55,12 +55,12 @@ namespace com.nlf.calendar.util
public static readonly string[] POSITION_YIN_GUI = { "", "艮", "坎", "乾", "兑", "坤", "坤", "艮", "离", "巽", "震" };
/// <summary>
/// 福神方位,参考多个黄历而决定采用的《福神方位歌》:甲乙东南是福神,丙丁正东是堪宜,戊北己南庚辛坤,壬在乾方癸在西。
/// 《福神方位歌》流派1:甲乙东南是福神,丙丁正东是堪宜,戊北己南庚辛坤,壬在乾方癸在西。
/// </summary>
public static readonly string[] POSITION_FU = { "", "巽", "巽", "震", "震", "坎", "离", "坤", "坤", "乾", "兑" };
//未采用的《福神方位歌》:甲己正北是福神,丙辛西北乾宫存,乙庚坤位戊癸艮,丁壬巽上好追寻。
//public static readonly string[] POSITION_FU = {"","坎","坤","乾","巽","艮","坎","坤","乾","巽","艮"};
//《福神方位歌》流派2:甲己正北是福神,丙辛西北乾宫存,乙庚坤位戊癸艮,丁壬巽上好追寻。
public static readonly string[] POSITION_FU_2 = {"","坎","坤","乾","巽","艮","坎","坤","乾","巽","艮"};
/// <summary>
/// 财神方位,《财神方位歌》:甲乙东北是财神,丙丁向在西南寻,戊己正北坐方位, 庚辛正东去安身,壬癸原来正南坐,便是财神方位真。
@@ -70,12 +70,12 @@ namespace com.nlf.calendar.util
/// <summary>
/// 逐日胎神方位
/// </summary>
public static readonly string[] POSITION_TAI_DAY = { "占门碓外东南", "碓磨厕外东南", "厨灶炉外正南", "仓库门外正南", "房床外正南", "占门床外正南", "占碓磨外正南", "厨灶厕外西南", "仓库炉外西南", "房床门外西南", "门鸡栖外西南", "碓磨床外西南", "厨灶碓外西南", "仓库厕外西南", "房床外正", "房床炉外正西", "碓磨栖外正西", "厨灶床外正西", "仓库碓外西北", "房床厕外西北", "占门炉外西北", "碓磨外西北", "厨灶栖外西北", "仓库床外西北", "房床碓外正北", "占门厕外正北", "碓磨炉外正北", "厨灶门外正北", "仓库栖外正北", "占房床房内北", "占门碓房内北", "碓磨厕房内北", "厨灶炉房内北", "仓库房内北", "门鸡栖外西南", "占门床房内", "占碓磨房内南", "厨灶厕房内南", "仓库炉房内南", "房床门房内", "门鸡栖房内东", "碓磨床房内东", "厨灶碓房内东", "仓库厕房内东", "房床炉房内", "占大门外东北", "碓磨栖外东北", "厨灶床外东北", "仓库碓外东北", "房床厕外东北", "占门炉外东北", "碓磨外正东", "厨灶栖外正东", "仓库床外正东", "房床碓外正东", "占门厕外正东", "碓磨炉外东南", "仓库栖外东南", "占房床外东南", "占门碓外东南" };
public static readonly string[] POSITION_TAI_DAY = { "占门碓 外东南", "碓磨厕 外东南", "厨灶炉 外正南", "仓库门 外正南", "房床外正南", "占门床 外正南", "占碓磨 外正南", "厕灶厨 外西南", "仓库炉 外西南", "房床门 外西南", "门碓栖 外西南", "碓磨床 外西南", "厨灶碓 外西南", "仓库厕 外正西", "房床外正西", "占大门 外正西", "碓磨栖 外正西", "厨房床 外正西", "仓库碓 外西北", "房床厕 外西北", "占门炉 外西北", "碓磨 外西北", "厨灶栖 外西北", "仓库床 外西北", "房床碓 外正北", "占门厕 外正北", "碓磨炉 外正北", "厨灶门 外正北", "仓库栖 外正北", "占房床 房内北", "占门碓 房内北", "碓磨厕 房内北", "厨灶炉 房内北", "仓库 房内北", "床房栖 房内中", "占门床 房内", "占碓磨 房内南", "厨磨厕 房内南", "仓库炉 房内南", "房床门 房内西", "门碓栖 房内东", "碓磨床 房内东", "厨灶碓 房内东", "仓库厕 房内东", "房床炉 房内", "占大门 外东北", "碓磨栖 外东北", "厨灶床 外东北", "仓库碓 外东北", "房床厕 外东北", "占门炉 外东北", "碓磨 外正东", "厨灶栖 外正东", "仓库床 外正东", "房床碓 外正东", "占门厕 外正东", "碓磨炉 外东南", "厨灶门 外东南", "仓库栖 外东南", "占房床 外东南" };
/// <summary>
/// 逐月胎神方位
/// </summary>
public static readonly string[] POSITION_TAI_MONTH = { "占房床", "占户窗", "占门堂", "占厨灶", "占床", "占床仓", "占碓磨", "占厕户", "占门房", "占房床", "占灶", "占房床" };
public static readonly string[] POSITION_TAI_MONTH = { "占房床", "占户窗", "占门堂", "占厨灶", "占床", "占床仓", "占碓磨", "占厕户", "占门房", "占房床", "占灶", "占房床" };
/// <summary>
/// 地支

View File

@@ -523,6 +523,46 @@ namespace test
Assert.AreEqual("寅命互禄", lunar.getDayLu());
}
[TestMethod()]
public void test48()
{
Solar solar = Solar.fromYmd(2021, 11, 13);
Lunar lunar = solar.getLunar();
Assert.AreEqual("碓磨厕 外东南", lunar.getDayPositionTai());
}
[TestMethod()]
public void test49()
{
Solar solar = Solar.fromYmd(2021, 11, 12);
Lunar lunar = solar.getLunar();
Assert.AreEqual("占门碓 外东南", lunar.getDayPositionTai());
}
[TestMethod()]
public void test50()
{
Solar solar = Solar.fromYmd(2021, 11, 13);
Lunar lunar = solar.getLunar();
Assert.AreEqual("西南", lunar.getDayPositionFuDesc());
}
[TestMethod()]
public void test51()
{
Solar solar = Solar.fromYmd(2021, 11, 12);
Lunar lunar = solar.getLunar();
Assert.AreEqual("正北", lunar.getDayPositionFuDesc());
}
[TestMethod()]
public void test52()
{
Solar solar = Solar.fromYmd(2011, 11, 12);
Lunar lunar = solar.getLunar();
Assert.AreEqual("厕灶厨 外西南", lunar.getDayPositionTai());
}
}