Exemple #1
0
        private void DoBidding(Game game)
        {
            _pokerService.ResetForBidding(game);

            while (!_pokerService.IsBiddingOver(game))
            {
                Player player = _pokerService.GetNextPlayerToTakeAction(game);

                //Wait for player to take action
                for (int i = 0; i < 60; i++)
                {
                    Thread.Sleep(500);
                    if (player.CurrentAction != PlayerActions.None)
                    {
                        break;
                    }
                }

                //Handle no response
                if (player.CurrentAction == PlayerActions.None)
                {
                    bool canCheck = _pokerService.GetHighestBet(game) == 0;
                    if (canCheck)
                    {
                        player.CurrentAction = PlayerActions.Check;
                    }
                    else
                    {
                        Fold(player);
                    }
                }
            }
        }