Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

NineStar.cs 8.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. using System.Text;
  2. using Lunar.Util;
  3. // ReSharper disable InconsistentNaming
  4. // ReSharper disable MemberCanBePrivate.Global
  5. // ReSharper disable IdentifierTypo
  6. namespace Lunar
  7. {
  8. /// <summary>
  9. /// 九星
  10. /// </summary>
  11. public class NineStar
  12. {
  13. /// <summary>
  14. /// 九数
  15. /// </summary>
  16. public static readonly string[] NUMBER = { "一", "二", "三", "四", "五", "六", "七", "八", "九" };
  17. /// <summary>
  18. /// 七色
  19. /// </summary>
  20. public static readonly string[] COLOR = { "白", "黒", "碧", "绿", "黄", "白", "赤", "白", "紫" };
  21. /// <summary>
  22. /// 五行
  23. /// </summary>
  24. public static readonly string[] WU_XING = { "水", "土", "木", "木", "土", "金", "金", "土", "火" };
  25. /// <summary>
  26. /// 后天八卦方位
  27. /// </summary>
  28. public static readonly string[] POSITION = { "坎", "坤", "震", "巽", "中", "乾", "兑", "艮", "离" };
  29. /// <summary>
  30. /// 北斗九星
  31. /// </summary>
  32. public static readonly string[] NAME_BEI_DOU = { "天枢", "天璇", "天玑", "天权", "玉衡", "开阳", "摇光", "洞明", "隐元" };
  33. /// <summary>
  34. /// 玄空九星(玄空风水)
  35. /// </summary>
  36. public static readonly string[] NAME_XUAN_KONG = { "贪狼", "巨门", "禄存", "文曲", "廉贞", "武曲", "破军", "左辅", "右弼" };
  37. /// <summary>
  38. /// 奇门九星(奇门遁甲,也称天盘九星)
  39. /// </summary>
  40. public static readonly string[] NAME_QI_MEN = { "天蓬", "天芮", "天冲", "天辅", "天禽", "天心", "天柱", "天任", "天英" };
  41. /// <summary>
  42. /// 八门(奇门遁甲)
  43. /// </summary>
  44. public static readonly string[] BA_MEN_QI_MEN = { "休", "死", "伤", "杜", "", "开", "惊", "生", "景" };
  45. /// <summary>
  46. /// 太乙九神(太乙神数)
  47. /// </summary>
  48. public static readonly string[] NAME_TAI_YI = { "太乙", "摄提", "轩辕", "招摇", "天符", "青龙", "咸池", "太阴", "天乙" };
  49. /// <summary>
  50. /// 太乙九神对应类型
  51. /// </summary>
  52. public static readonly string[] TYPE_TAI_YI = { "吉神", "凶神", "安神", "安神", "凶神", "吉神", "凶神", "吉神", "吉神" };
  53. /// <summary>
  54. /// 太乙九神歌诀(太乙神数)
  55. /// </summary>
  56. public static readonly string[] SONG_TAI_YI = { "门中太乙明,星官号贪狼,赌彩财喜旺,婚姻大吉昌,出入无阻挡,参谒见贤良,此行三五里,黑衣别阴阳。", "门前见摄提,百事必忧疑,相生犹自可,相克祸必临,死门并相会,老妇哭悲啼,求谋并吉事,尽皆不相宜,只可藏隐遁,若动伤身疾。", "出入会轩辕,凡事必缠牵,相生全不美,相克更忧煎,远行多不利,博彩尽输钱,九天玄女法,句句不虚言。", "招摇号木星,当之事莫行,相克行人阻,阴人口舌迎,梦寐多惊惧,屋响斧自鸣,阴阳消息理,万法弗违情。", "五鬼为天符,当门阴女谋,相克无好事,行路阻中途,走失难寻觅,道逢有尼姑,此星当门值,万事有灾除。", "神光跃青龙,财气喜重重,投入有酒食,赌彩最兴隆,更逢相生旺,休言克破凶,见贵安营寨,万事总吉同。", "吾将为咸池,当之尽不宜,出入多不利,相克有灾情,赌彩全输尽,求财空手回,仙人真妙语,愚人莫与知,动用虚惊退,反复逆风吹。", "坐临太阴星,百祸不相侵,求谋悉成就,知交有觅寻,回风归来路,恐有殃伏起,密语中记取,慎乎莫轻行。", "迎来天乙星,相逢百事兴,运用和合庆,茶酒喜相迎,求谋并嫁娶,好合有天成,祸福如神验,吉凶甚分明。" };
  57. /// <summary>
  58. /// 吉凶(玄空风水)
  59. /// </summary>
  60. public static readonly string[] LUCK_XUAN_KONG = { "吉", "凶", "凶", "吉", "凶", "吉", "凶", "吉", "吉" };
  61. /// <summary>
  62. /// 吉凶(奇门遁甲)
  63. /// </summary>
  64. public static readonly string[] LUCK_QI_MEN = { "大凶", "大凶", "小吉", "大吉", "大吉", "大吉", "小凶", "小吉", "小凶" };
  65. /// <summary>
  66. /// 阴阳(奇门遁甲)
  67. /// </summary>
  68. public static readonly string[] YIN_YANG_QI_MEN = { "阳", "阴", "阳", "阳", "阳", "阴", "阴", "阳", "阴" };
  69. /// <summary>
  70. /// 序号
  71. /// </summary>
  72. public int Index { get; }
  73. /// <summary>
  74. /// 初始化
  75. /// </summary>
  76. /// <param name="index">序号</param>
  77. public NineStar(int index)
  78. {
  79. Index = index;
  80. }
  81. /// <summary>
  82. /// 初始化
  83. /// </summary>
  84. /// <param name="index">序号</param>
  85. /// <returns>九星</returns>
  86. public static NineStar FromIndex(int index)
  87. {
  88. return new NineStar(index);
  89. }
  90. /// <summary>
  91. /// 九数
  92. /// </summary>
  93. public string Number => NUMBER[Index];
  94. /// <summary>
  95. /// 七色
  96. /// </summary>
  97. public string Color => COLOR[Index];
  98. /// <summary>
  99. /// 五行
  100. /// </summary>
  101. public string WuXing => WU_XING[Index];
  102. /// <summary>
  103. /// 方位
  104. /// </summary>
  105. public string Position => POSITION[Index];
  106. /// <summary>
  107. /// 方位描述
  108. /// </summary>
  109. public string PositionDesc => LunarUtil.POSITION_DESC[Position];
  110. /// <summary>
  111. /// 玄空九星名称
  112. /// </summary>
  113. public string NameInXuanKong => NAME_XUAN_KONG[Index];
  114. /// <summary>
  115. /// 北斗九星名称
  116. /// </summary>
  117. public string NameInBeiDou => NAME_BEI_DOU[Index];
  118. /// <summary>
  119. /// 奇门九星名称
  120. /// </summary>
  121. public string NameInQiMen => NAME_QI_MEN[Index];
  122. /// <summary>
  123. /// 太乙九神名称
  124. /// </summary>
  125. public string NameInTaiYi => NAME_TAI_YI[Index];
  126. /// <summary>
  127. /// 奇门九星吉凶
  128. /// </summary>
  129. public string LuckInQiMen => LUCK_QI_MEN[Index];
  130. /// <summary>
  131. /// 玄空九星吉凶
  132. /// </summary>
  133. public string LuckInXuanKong => LUCK_XUAN_KONG[Index];
  134. /// <summary>
  135. /// 奇门九星阴阳
  136. /// </summary>
  137. public string YinYangInQiMen => YIN_YANG_QI_MEN[Index];
  138. /// <summary>
  139. /// 太乙九神类型
  140. /// </summary>
  141. public string TypeInTaiYi => TYPE_TAI_YI[Index];
  142. /// <summary>
  143. /// 八门(奇门遁甲)
  144. /// </summary>
  145. public string BaMenInQiMen => BA_MEN_QI_MEN[Index];
  146. /// <summary>
  147. /// 太乙九神歌诀
  148. /// </summary>
  149. public string SongInTaiYi => SONG_TAI_YI[Index];
  150. /// <inheritdoc />
  151. public override string ToString()
  152. {
  153. return $"{Number}{Color}{WuXing}{NameInBeiDou}";
  154. }
  155. /// <summary>
  156. /// 完整字符串输出
  157. /// </summary>
  158. public string FullString
  159. {
  160. get
  161. {
  162. var s = new StringBuilder();
  163. s.Append(Number);
  164. s.Append(Color);
  165. s.Append(WuXing);
  166. s.Append(' ');
  167. s.Append(Position);
  168. s.Append('(');
  169. s.Append(PositionDesc);
  170. s.Append(") ");
  171. s.Append(NameInBeiDou);
  172. s.Append(" 玄空[");
  173. s.Append(NameInXuanKong);
  174. s.Append(' ');
  175. s.Append(LuckInXuanKong);
  176. s.Append("] 奇门[");
  177. s.Append(NameInQiMen);
  178. s.Append(' ');
  179. s.Append(LuckInQiMen);
  180. if (BaMenInQiMen.Length > 0)
  181. {
  182. s.Append(' ');
  183. s.Append(BaMenInQiMen);
  184. s.Append('门');
  185. }
  186. s.Append(' ');
  187. s.Append(YinYangInQiMen);
  188. s.Append("] 太乙[");
  189. s.Append(NameInTaiYi);
  190. s.Append(' ');
  191. s.Append(TypeInTaiYi);
  192. s.Append(']');
  193. return s.ToString();
  194. }
  195. }
  196. }
  197. }