public void Deal(int playerId) { // if (IsChipinClose) { if (CurrentStage != EStage.CanChipIning) { NotifySinglePlayer(WebscoketSendObjs.RoomMessage(playerId, "不是押底阶段,不能发牌!"), playerId); return; } // if (JoinSeats.Count() != InningeGame.NotEmptySeats().Count()) { if (JoinSeats.Count() < 2) { NotifyRoomPlayers(WebscoketSendObjs.RoomMessage(0, "押底人数不足2人,不能发牌")); return; } CheckDateTime = DateTime.Now; // IsChipinClose = true;//? PokerManager.Riffile(); lock (this) { for (int i = 0; i < JoinSeats.Count(); i++) { ThreeCards threeCards = new ThreeCards(PokerManager.TackOut(3)); JoinSeats[i].Pokers = threeCards; JoinSeats[i].PreChipType = EChipinType.PlayerChipIn; } CurrentStage = EStage.Running; } CheckDateTime = DateTime.Now; NotifyRoomPlayers(new FreshGameFace(0)); NotifyRoomPlayers(WebscoketSendObjs.RoomMessage(0, "发牌完毕,庄家开始下注")); }
/// <summary> /// 获得两个牌大的玩家座位 /// </summary> /// <param name="seat"></param> /// <param name="opponetSeat"></param> /// <returns></returns> private Seat GetWinner(Seat seat, Seat opponetSeat) { ThreeCards myCards = GetSeatGetPokers(seat); ThreeCards opponentCards = GetSeatGetPokers(opponetSeat); if (myCards > opponentCards) { return(seat); } else { return(opponetSeat); } }