예제 #1
0
        //发牌
        public void Shuffle(ref PeopleList[] pl, ref CardPile cp)
        {
            int[] num = new int[108];
            for (int i = 0; i < 108; i++)       //生成108张牌
            {
                num[i] = i + 1;
            }
            Random random = new Random();

            for (int i = 0; i < 108; i++)       //随机打乱牌序
            {
                int x, t = random.Next(108);
                x      = num[i];
                num[i] = num[t];
                num[t] = x;
            }
            for (int i = 0; i < 108; i++)       //发牌
            {
                Card card = ConvertCard(num[i]);
                if (i < 100)
                {
                    pl[i % 4].deck.Add(card);     //对应人的队列增加相应卡牌
                }
                else
                {
                    cp.deck.Add(card);        //底牌先放到牌堆中
                }
            }
            cp.deck.Sort(Card.CampareModeCardNum);
        }
예제 #2
0
 //给四个玩家发牌,剩余的八张牌放在牌堆中
 public void Shuffle(ref PeopleList[] pl, ref CardPile cp)
 {
     gamemode.Shuffle(ref pl, ref cp);
     for (int i = 0; i < 4; i++)
     {
         UpdateCardnum(ref pl[i]);
     }
 }
예제 #3
0
 //给地主8张牌,并且更新地主状态
 public void DealLandlord(ref PeopleList[] people, CardPile cp, int whosland)
 {
     DealPeople(ref people[whosland], cp.deck);  //给地主发牌
     people[whosland].Landlord_flag = true;      //改变四个人的地主状态
 }