コード例 #1
0
ファイル: Program.cs プロジェクト: Carla-Joseph/blackjack
        static void Main(string[] args)
        {
            var deck = new Deck();

            deck.Shuffle();

            var playerHand = new Hand();

            var dealerHand = new Hand();

            var firstCard = deck.Deal();

            playerHand.Accept(firstCard);

            var secondCard = deck.Deal();

            playerHand.Accept(secondCard);

            var dealerFirstCard = deck.Deal();

            dealerHand.Accept(firstCard);

            var dealerSecondCard = deck.Deal();

            dealerHand.Accept(secondCard);

            while (playerHand.TotalValue() <= 21)
            {
                Console.WriteLine();
                playerHand.ShowCards();
                Console.WriteLine($"The total value of your hand is: {playerHand.TotalValue()}");
                Console.WriteLine();

                Console.Write("(H)it or (S)tand: ");
                var answer = Console.ReadLine();

                if (answer == "H")
                {
                    var extraCard = deck.Deal();
                    playerHand.Accept(extraCard);
                }
                else
                {
                    break;
                }
            }

            Console.WriteLine();
            playerHand.ShowCards();
            Console.WriteLine($"The total value of your hand is: {playerHand.TotalValue()}");
            Console.WriteLine();
            // Console.WriteLine("Your first card is " + firstCard.Rank + " of " + firstCard.Suit);

            while (dealerHand.TotalValue() < 17)
            {
                var extraCard = deck.Deal();
                dealerHand.Accept(extraCard);
                Console.WriteLine($"Your new total is: ");
            }

            Console.WriteLine();
            Console.WriteLine("Dealer has:");
            dealerHand.ShowCards();
            var computedTotalValueOfDealerHand = dealerHand.TotalValue();

            Console.WriteLine($"Total value of of dealer hand: {computedTotalValueOfDealerHand}");

            Console.WriteLine();

            if (playerHand.TotalValue() > 21)
            {
                Console.WriteLine("You busted. Dealer Wins!");
            }
            else if (dealerHand.TotalValue() > 21)
            {
                Console.WriteLine("Player Wins!");
            }
            else if (dealerHand.TotalValue() >= playerHand.TotalValue())
            {
                Console.WriteLine("Dealer totals more. Dealer Wins!");
            }
            else
            {
                Console.WriteLine("Player Wins!");
            }
            // else if (playerHand.TotalValue() == dealerHand.TotalValue())
            // {
            //     Console.WriteLine("It's a draw!");
            // }
        }