public Hand Deal(Deck deck) { DealCards(2, deck); Console.WriteLine(); bool playing = true; while (playing) { Console.Write("Would you like to Hit (H) or Stay (S)?: "); string response = Console.ReadLine(); switch (response.ToUpper()) { case "H": DealCards(1, deck); playing = !hand.IsBusted(); break; case "S": playing = false; break; default: Console.WriteLine("Invalid Input"); break; } } return(hand); }
public void Play() { Player player = new Player(); Hand playerHand = player.Deal(deck); //TODO This needs to be refactored. Too much indentation if (playerHand.IsBusted()) { Console.WriteLine("You dun f****d up, son!"); Console.WriteLine("Game Over!"); } else { Console.WriteLine("Player stays at {0}", playerHand.Total()); Console.WriteLine(); Console.WriteLine("Dealer Playing"); Dealer dealer = new Dealer(); Hand dealerHand = dealer.Deal(deck); if (dealerHand.IsBusted()) { Console.Write("Dealer busted!"); Console.WriteLine(); Console.WriteLine("Player Wins!"); } else { Console.WriteLine(); if (playerHand.Total() > dealerHand.Total()) { Console.WriteLine("Player's {0} beats Dealer's {1}", playerHand.Total(), dealerHand.Total()); Console.WriteLine("Player Wins!"); } else { Console.WriteLine("Dealer's {1} beats Player's {0}", playerHand.Total(), dealerHand.Total()); Console.WriteLine("Game Over!"); } } } }