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); } } } }