Пример #1
0
        public void NextStage()
        {
            if (BiddingStages.Any() && !CurrentStage.IsFinished())
            {
                throw new InvalidOperationException("Can't got to next bidding stage, untill current is finished");
            }
            var newStagePlayersCount = _playersCount;

            if (BiddingStages.Any())
            {
                newStagePlayersCount = CurrentStage.PlayersCount -
                                       CurrentStage.Bids.Values.Count(x => x.IsAllIn() || x.IsFold());
            }
            var newStage = new BiddingStage(newStagePlayersCount);

            BiddingStages.Add(newStage);
        }
Пример #2
0
 public long GetBank()
 {
     return(BiddingStages.Sum(x => x.GetBank()));
 }