//发牌 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); }
//给四个玩家发牌,剩余的八张牌放在牌堆中 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]); } }
//给地主8张牌,并且更新地主状态 public void DealLandlord(ref PeopleList[] people, CardPile cp, int whosland) { DealPeople(ref people[whosland], cp.deck); //给地主发牌 people[whosland].Landlord_flag = true; //改变四个人的地主状态 }