コード例 #1
0
        public static 八卦八节旺衰 八节旺衰(this 八卦 卦, 节气节令 八节)
        {
            if (!八卦八节旺衰字典.ContainsKey(八节))
            {
                throw new Exception($"当前节气[{八节}]不是八节,无法匹配旺衰");
            }
            var 序列 = 八卦八节旺衰字典[八节];
            var 序数 = 序列.IndexOf(卦);

            return(枚举转换类 <八卦八节旺衰> .获取枚举(序数));
        }
コード例 #2
0
        static void 卦类测试(八卦, 八卦, string 测试卦名, string 测试卦象名)
        {
            var 卦 = new 六十四卦(, );

            Console.WriteLine($"上{卦.客卦.名称}下{卦.主卦.名称}");
            Console.WriteLine($"卦名:\t{卦.卦名}");
            Console.WriteLine($"卦象名:\t{卦.卦象名}");
            Assert.IsTrue(卦.客卦.称 ==.称);
            Assert.IsTrue(卦.主卦.称 ==.称);
            Assert.IsTrue(卦.卦名 == 测试卦名);
            Assert.IsTrue(卦.卦象名 == 测试卦象名);
            Console.WriteLine($"-----------------------------");
        }
コード例 #3
0
        public static 节气节令 八节旺衰(this 八卦 卦, 八卦八节旺衰 旺衰)
        {
            var 旺衰序数 = 枚举转换类 <八卦八节旺衰> .获取序数(旺衰);

            foreach (var 字典 in 八卦八节旺衰字典)
            {
                var 查卦 = 字典.Value[旺衰序数];
                if (查卦 == 卦)
                {
                    return(字典.Key);
                }
            }
            throw new Exception($"未找到匹配的节气枚举,当前输入:[{旺衰},{卦.名称}]");
        }
コード例 #4
0
        public void 方位测试()
        {
            var 卦列 = new 八卦[] { 八卦.乾, 八卦.兑, 八卦.离, 八卦.震, 八卦.巽, 八卦.坎, 八卦.艮, 八卦.坤 };

            Assert.IsTrue(八卦.巽.方位 == 八方方位.东南);
            Assert.IsTrue(八卦.坎.方位 == 八方方位.正北);

            Console.WriteLine();

            foreach (var 卦 in 卦列)
            {
                Console.Write(卦.方位 + " ");
            }
            Console.WriteLine();
        }
コード例 #5
0
        static void 爻值测试(八卦, 八卦, string 测试卦名, string 测试爻序)
        {
            var 卦  = new 六十四卦(, );
            var 爻序 = 六十四卦.还原爻序(卦.爻值);

            Assert.IsTrue(卦.卦名 == 测试卦名);
            Assert.IsTrue(爻序 == 测试爻序);
            Console.WriteLine($"卦名:{卦.卦象名}");
            foreach (var 爻 in 爻序.Reverse())
            {
                switch (爻)
                {
                case '0':
                    Console.WriteLine("----   ----");
                    break;

                case '1':
                    Console.WriteLine("----------");
                    break;
                }
            }
            Console.WriteLine();
        }
コード例 #6
0
 public static int 获取八卦序数(八卦 卦)
 {
     return(枚举转换类 <八卦枚举> .获取序数(卦.称));
 }