/// <summary> /// 检查玩家手里是否存在指定牌 /// </summary> /// <param name="playerId_">玩家Id</param> /// <param name="card_">牌</param> /// <returns></returns> private ABCard CheckCardExist(int playerId_, ABCard card_) { Seat seat = GetSeatByPlayerId(playerId_); ABCard card = null; if (seat.GetPoker.Name == card_.Name && seat.GetPoker.CardColor == card_.CardColor) { card = seat.GetPoker; } return(card); }
public void PlayerPlayOutOnePoker(int playerId) { Seat meSeat = GetSeatByPlayerId(playerId); int opponentId = GetOpponentId(playerId); Seat opponentSeat = GetSeatByPlayerId(opponentId); var opponentPayOut = opponentSeat.PlayOutPokers; var opponentCompareResult = opponentSeat.CompareResult; ABCard card = null; if (null == meSeat.GetPoker) { return; } card = meSeat.GetPoker; var meCompareResult = meSeat.CompareResult; ISeat winPlayer = null; if (card != null) { lock (Locker) { meSeat.GetPoker = null; meSeat.PlayOutPokers = card; if (opponentPayOut != null) { if (meSeat.PlayOutPokers.ComparedValue > opponentSeat.PlayOutPokers.ComparedValue) { winPlayer = meSeat; } else { winPlayer = opponentSeat; } meSeat.PlayOutPokers = null; meSeat.CompareResult = card; opponentSeat.CompareResult = opponentSeat.PlayOutPokers; opponentSeat.PlayOutPokers = null; winPlayer.IPlayer.DecutMoney(-ChipInAmount); foreach (var item in InningeGame.NotEmptySeats())//通知全部客户端刷新 { NotifySinglePlayer(WebscoketSendObjs.FreshGameFace(item.IPlayer.Id), item.IPlayer.Id); } } NotifySinglePlayer(WebscoketSendObjs.FreshGameFace(playerId), playerId); return; } } return; }
/// <summary> /// 检查玩家手里是否存在指定牌 /// </summary> /// <param name="playerId_">玩家Id</param> /// <param name="card_">牌</param> /// <returns></returns> private ABCard CheckCardExist(int playerId_, ABCard card_) { var seat = InningeGame.GetSeatByPlayerId(playerId_); ABCard card = null; foreach (ABCard item in seat.GameDateObj["getPokers"]) { if (item.Name == card_.Name && item.CardColor == card_.CardColor) { card = item; break; } } return(card); }