public static Winner Winner(Hand hand, Dealer dealer) { if (hand.ReturnValueOfMyHand() == dealer.CalculateValueOfMyCards() || (hand.ReturnValueOfMyHand() > 21 && dealer.CalculateValueOfMyCards() > 21)) { if (hand.ReturnValueOfMyHand() > 21 && dealer.CalculateValueOfMyCards() > 21) { return(BlackJack.Winner.DealerWins); } return(BlackJack.Winner.Draw); } else if (hand.ReturnValueOfMyHand() > dealer.CalculateValueOfMyCards()) { if (hand.ReturnValueOfMyHand() < 22) { return(BlackJack.Winner.PlayerWins); } return(BlackJack.Winner.DealerWins); } else if (dealer.CalculateValueOfMyCards() > hand.ReturnValueOfMyHand()) { if (dealer.CalculateValueOfMyCards() < 22) { return(BlackJack.Winner.DealerWins); } return(BlackJack.Winner.PlayerWins); } else { return(BlackJack.Winner.Error); } }