Пример #1
0
        bool list_probability(int color, int gui_num, int num, int key, bool chi, ProbabilityItemTable ptbl)
        {
            bool find = false;
            int  anum = ptbl.array_num;

            for (int i = 0; i <= gui_num; ++i)
            {
                int yu = (num + i) % 3;
                if (yu == 1)
                {
                    continue;
                }
                bool eye = (yu == 2);
                if (find || TableMgr.getInstance().check(key, i, eye, chi))
                {
                    ProbabilityItem item = ptbl.m[anum, ptbl.m_num[anum]];
                    ptbl.m_num[anum]++;

                    item.eye     = eye;
                    item.gui_num = i;
                    find         = true;
                }
            }

            if (ptbl.m_num[anum] <= 0)
            {
                return(false);
            }

            ptbl.array_num++;
            return(true);
        }
Пример #2
0
 static void Main(string[] args)
 {
     System.Console.WriteLine("generate feng table begin...");
     init_cache();
     gen_table();
     gen_eye_table();
     TableMgr.getInstance().dump_feng_table();
 }
Пример #3
0
        static void Main()
        {
            System.Console.Write("test hulib begin...\n");

            TableMgr.getInstance().load();

            test_one();

            System.Console.ReadKey();
        }
Пример #4
0
        static void add(int[] cards, int gui_num, bool eye)
        {
            int count = 0;
            int key = 0;
            for (int i = 0; i < 9; ++i)
            {
                count += cards[i];
                key = key * 10 + cards[i];
            }

            TableMgr.getInstance().add(key, gui_num, eye, true);
        }
Пример #5
0
        static void gen_auto_table()
        {
            int[] cards = new int[34];
            for (int i = 0; i < 34; ++i)
            {
                cards[i] = 0;
            }

            for (int i = 0; i < 18; ++i)
            {
                cards[i] = 2;
                System.Console.WriteLine("将 %d", i + 1);
                gen_auto_table_sub(cards, 1);
                cards[i] = 0;
            }

            TableMgr.getInstance().dump_table();
        }
Пример #6
0
        static bool check_add(int[] cards, int gui_num, bool eye)
        {
            int key = 0;

            for (int i = 0; i < 7; i++)
            {
                key = key * 10 + cards[i];
            }

            if (key == 0)
            {
                return(false);
            }

            Dictionary <int, bool> m;

            if (!eye)
            {
                m = gui_tested[gui_num];
            }
            else
            {
                m = gui_eye_tested[gui_num];
            }

            if (m.ContainsKey(key))
            {
                return(false);
            }

            m.Add(key, true);

            for (int i = 0; i < 7; i++)
            {
                if (cards[i] > 4)
                {
                    return(true);
                }
            }
            TableMgr.getInstance().add(key, gui_num, eye, false);
            return(true);
        }