コード例 #1
0
        public CHexagramValueSequencer(ref CHexagramValueSequencer hvs) : this(0)
        {
            Trigram(1).Line(2).Value = hvs.Trigram(1).Line(2).Value;
            Trigram(1).Line(1).Value = hvs.Trigram(1).Line(1).Value;
            Trigram(1).Line(0).Value = hvs.Trigram(1).Line(0).Value;
            Trigram(0).Line(2).Value = hvs.Trigram(0).Line(2).Value;
            Trigram(0).Line(1).Value = hvs.Trigram(0).Line(1).Value;
            Trigram(0).Line(0).Value = hvs.Trigram(0).Line(0).Value;

            Trigram(1).Line(2).UpdateInnerValues();
            Trigram(1).Line(1).UpdateInnerValues();
            Trigram(1).Line(0).UpdateInnerValues();
            Trigram(0).Line(2).UpdateInnerValues();
            Trigram(0).Line(1).UpdateInnerValues();
            Trigram(0).Line(0).UpdateInnerValues();

            Trigram(1).Line(2).UpdateOuterValues();
            Trigram(1).Line(1).UpdateOuterValues();
            Trigram(1).Line(0).UpdateOuterValues();
            Trigram(0).Line(2).UpdateOuterValues();
            Trigram(0).Line(1).UpdateOuterValues();
            Trigram(0).Line(0).UpdateOuterValues();

            //UpdateInnerValues();
            //UpdateOuterValues();
        }
コード例 #2
0
        public CHexagramValueSequencer AutoCast(ref CHexagramValueSequencer hvs)         //////// Random ?????????????????????????????
        {
            Random r = true ? Sequences.m_ranSession : new Random(DateTime.Now.Millisecond);

            for (int l = 0; l < 6; ++l)
            {
                int count = (r.Next(5) + 1) * 100 + r.Next(100);
                for (int c = 0; c < count; ++c)
                {
                    hvs.Trigram(l / 3).Line(l % 3).Next(true);
                }
            }
            return(hvs);
        }
コード例 #3
0
        public CHexagramArray()
        {
            CHexagramValueSequencer hvsPrimary = new CHexagramValueSequencer(0);

            hvsPrimary.First();
            for (int p = 0; p < 64; ++p)
            {
                for (int s = 0; s < 64; ++s)
                {
                    CHexagramValueSequencer hvs = new CHexagramValueSequencer(ref hvsPrimary);
                    for (int l = 0; l < 6; ++l)
                    {
                        if (((s & (1 << l)) >> l) == 1)
                        {
                            hvs.Trigram(l / 3).Line(l % 3).Next(false);
                        }
                    }
                    Add(ref hvs);
                }
                hvsPrimary.Next();
            }
            Array.Sort(m_arrHexagram);
        }