internal State EvaluateHands() { //BlackJack if (HandLogic.IsBlackJack(_defaultPlayer, _dealer)) { return(State.BlackJack); } //Win else if (HandLogic.IsWin(_defaultPlayer, _dealer)) { return(State.Win); } //Push else if (HandLogic.IsPush(_defaultPlayer, _dealer)) { return(State.Push); } //Bust else if (HandLogic.IsBust(_defaultPlayer)) { return(State.Bust); } //Loss else { return(State.Loss); } }
public GameState Hit() { //throw Exception if Hit() is called when game state is not open. if (_gameState.CurrentState != State.Open) { throw new GameStateException($"Can not call Hit() if game State is not Open. " + $"Current state is {_gameState.CurrentState.ToString()}"); } //If the game has no winner, give a card to the player AddCardToHand(_defaultPlayer); //Check for player blackjack or bust if (HandLogic.HasBlackJack(_defaultPlayer) || HandLogic.IsBust(_defaultPlayer)) { //Init the end game EndGame(); } return(_gameState); }