コード例 #1
0
ファイル: AiTest.cs プロジェクト: billteng/mahjong
        public AiTest()
        {
            BrandPlayer[] player = new BrandPlayer[4];
            BrandPlayer table = new BrandPlayer();

            BrandFactory x = new BrandFactory();
            x.createBrands();
            x.randomBrands();

            table = x.getBrands();

            Deal deal = new Deal(16,table);
            deal.DealBrands();

            player = deal.Player;

            printplayer(player);

            //SimpleAI sa = new SimpleAI();
            //sa.setPlayer(player[0]);
            //PlayerSort bs = new PlayerSort(player[0]);
            //player[0] = bs.getPlayer();

            //PlayerSort bs = new PlayerSort(player[0]);

            PlayerSort bs = new PlayerSort(player[0],new FlowerBrand(0),new TenThousandBrand(0),new RopeBrand(0),new  TubeBrand(0),new WordBrand(0));
            player[0] = bs.getPlayer;
            Level_1 l = new Level_1();
            l.setPlayer(player[0]);
            l.getReadyBrand();

            //printplayer(player);
            //Level_1 l = new Level_1();
            //BrandPlayer test = new BrandPlayer();
            //test.add(new WordBrand(1));
            //test.add(new WordBrand(1));
            //test.add(new WordBrand(1));
            //test.add(new WordBrand(2));
            //test.add(new WordBrand(3));
            //test.add(new WordBrand(3));
            //test.add(new WordBrand(3));
            //test.add(new WordBrand(5));
            //l.setPlayer(test);

            l.setPlayer(player[0]);

            Brand t = l.getReadyBrand();
            Console.WriteLine("==>{0}{1}", t.getNumber(), t.getClass());
            //printplayer(player);

            //sa.getReadyBrand();
            //Console.WriteLine();
            //Console.WriteLine("Ready Brand is {0},{1}", l.getReadyBrand().getClass(), l.getReadyBrand().getNumber());
        }
コード例 #2
0
ファイル: DealTest.cs プロジェクト: billteng/mahjong
        public DealTest()
        {
            BrandPlayer[] player = new BrandPlayer[4];
            BrandPlayer table = new BrandPlayer();

            BrandFactory x = new BrandFactory();
            x.createBrands();
            x.randomBrands();

            table = x.getBrands();
            Console.WriteLine("�@��: {0}",table.getCount());
            // �L�X�~�n���P
            printplayer(table,"�üƵP");

            PlayerSort bbs = new PlayerSort(table);
            BrandPlayer sort_table = bbs.getPlayer;
            printplayer(sort_table,"�üƱƧǦ^�h");

            // ���t�P
            Deal deal = new Deal(16,table);
            deal.DealBrands();
            player = deal.Player;

            // �L�X���������a
            printplayer(player);

            BrandPlayer check = new BrandPlayer();

            foreach (BrandPlayer b in player)
                for (int i = 0; i < b.getCount(); i++)
                    check.add(b.getBrand(i));
            for (int i = 0; i < table.getCount(); i++)
                check.add(table.getBrand(i));
            PlayerSort bs = new PlayerSort(check);
            check = bs.getPlayer;
            Console.WriteLine("\n�@��: {0}",check.getCount());
            printplayer(check,"���s�ˬd");
        }
コード例 #3
0
ファイル: AllPlayers.cs プロジェクト: Superbil/mahjong
 /// <summary>
 /// �{�b�����a�Ƨ�
 /// </summary>
 public void sortNowPlayer()
 {
     PlayerSort ps = new PlayerSort(players[state]);
     players[state] = ps.getPlayer;
 }
コード例 #4
0
ファイル: ProgramControl.cs プロジェクト: Superbil/mahjong
 /// <summary>
 /// ���a���U�Y�ƥ�I�s
 /// </summary>
 internal void chow(Brand brand)
 {
     CheckBrands c = new CheckBrands(brand, NowPlayer_removeTeam);
     if (c.Chow())
         if (c.ChowLength == 1)
         {
             PlayerSort p = new PlayerSort(c.SuccessPlayer);
             all.chow_pong(brand, p.getPlayer);
         }
         else
         {
             if (all.State == table.place.Down)
             {
                 ChowBrandCheck cbc = new ChowBrandCheck(c.ChowPlayer);
                 cbc.ShowDialog();
                 PlayerSort p = new PlayerSort(cbc.SelectBrandPlayer);
                 all.chow_pong(brand, p.getPlayer);
             }
             else
             {
                 chat.SendObject(c.ChowPlayer);
             }
         }
     Chow_Pong_Brand = true;
     updatePlayer_Table();
 }
コード例 #5
0
ファイル: ProgramControl.cs プロジェクト: Superbil/mahjong
 public void CheckChowResult(object sender, EventArgs e)
 {
     PlayerSort p = new PlayerSort((BrandPlayer)sender);
     all.chow_pong(sendoutbrand, p.getPlayer);
     chat.SendObject(all);
 }
コード例 #6
0
ファイル: CheckBrands.cs プロジェクト: billteng/mahjong
        /// <summary>
        /// �J�P ����
        /// </summary>
        /// <returns>�O/�_</returns>
        public bool Win()
        {
            if (brand != null)
            {
                x.add(brand);
                PlayerSort d = new PlayerSort(x);
                x = d.getPlayer;
            }
            brand_2();
            bradn_4();
            bradn_3();

            // �զX����
            // a �T��
            // b �Ⱖ
            // c �զX
            int count = 0;
            for (int i = 0; i < a.getCount(); i += 3)
            {
                for (int j = i + 3; j < a.getCount(); j += 3)
                {
                    for (int k = j + 3; k < a.getCount(); k += 3)
                    {
                        for (int l = k + 3; l < a.getCount(); l += 3)
                        {
                            for (int m = l + 3; m < a.getCount(); m += 3)
                            {
                                for (int n = 0; n < b.getCount(); n += 2)
                                {
                                    c.clear();
                                    c.add(a.getBrand(i));
                                    c.add(a.getBrand(i + 1));
                                    c.add(a.getBrand(i + 2));
                                    c.add(a.getBrand(j));
                                    c.add(a.getBrand(j + 1));
                                    c.add(a.getBrand(j + 2));
                                    c.add(a.getBrand(k));
                                    c.add(a.getBrand(k + 1));
                                    c.add(a.getBrand(k + 2));
                                    c.add(a.getBrand(l));
                                    c.add(a.getBrand(l + 1));
                                    c.add(a.getBrand(l + 2));
                                    c.add(a.getBrand(m));
                                    c.add(a.getBrand(m + 1));
                                    c.add(a.getBrand(m + 2));
                                    c.add(b.getBrand(n));
                                    c.add(b.getBrand(n + 1));

                                    PlayerSort d = new PlayerSort(c);
                                    c = d.getPlayer;
                                    //�P�����
                                    //�������ߥN��J�P
                                    for (int o = 0; o < x.getCount(); o++)
                                    {
                                        if (c.getBrand(o).getClass() == x.getBrand(o).getClass() &&
                                            c.getBrand(o).getNumber() == x.getBrand(o).getNumber())
                                        {
                                            count = o;
                                            continue;
                                        }
                                        else
                                            break;
                                    }
                                    if (count == x.getCount() - 1)
                                    {
                                        if (brand != null)
                                            x.remove(brand);
                                        return true; // ����
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if (brand != null)
                x.remove(brand);
            return false;
        }
コード例 #7
0
ファイル: Level 1.cs プロジェクト: billteng/mahjong
        //bool firsttime = true;
        /// <summary>
        /// �]�w�P��
        /// </summary>
        /// <param name="player"></param>
        public void setPlayer(BrandPlayer player)
        {
            PlayerSort ps = new PlayerSort(player,
                new FlowerBrand(0),
                new TenThousandBrand(0),
                new TubeBrand(0),
                new RopeBrand(0),
                new WordBrand(0));
            this.player = ps.getPlayer;

            for (int j = 0; j < brands.Length; j++)
                brands[j] = new BrandPlayer();

            step0();
            step1();
            step2();
            step3();
            step4();
            step5();
            step6();
            step7();
        }