public void PlayerHits(string playerIdentifier, string handIdentifier) { _ = playerIdentifier ?? throw new ArgumentNullException(nameof(playerIdentifier)); _ = handIdentifier ?? throw new ArgumentNullException(nameof(handIdentifier)); if (CurrentPlayer.Identifier != playerIdentifier) { throw new ArgumentException(nameof(playerIdentifier), $"Please wait your turn, Current player is {CurrentPlayer.Name}"); } var player = GetPlayerById(playerIdentifier); player.AddCard(handIdentifier, _cardProvider.Cards(1).Single()); if (player.Status == PlayerStatusTypes.Complete) { UpdateCurrentPlayer(player); } if (CurrentPlayer == Dealer) { DealersTurn(); } SetGameCompleteOnAllPlayersComplete(); }
public void PlayerHits(string playerIdentifier, string handIdentifier) { _ = playerIdentifier ?? throw new ArgumentNullException(nameof(playerIdentifier)); _ = handIdentifier ?? throw new ArgumentNullException(nameof(handIdentifier)); if (CurrentPlayer.Identifier != playerIdentifier) { throw new ArgumentException(nameof(playerIdentifier), $"Please wait your turn, Current player is {CurrentPlayer.Name}"); } Players.Single(p => p.Identifier == playerIdentifier) .Hit(handIdentifier, cardProvider.Cards(1).Single()); SetGameCompleteOnAllPlayersComplete(); }