Exemple #1
0
 private void BlackJackGameResult(CardPlayer player, CardPlayer croupier, int bet)
 {
     if (CardsValueSum(player.Cards) > 21)
     {
         Console.WriteLine($"Sum of your cards more than 21 ({CardsValueSum(player.Cards)}).\n\nYOU LOSE!");
         player.Money   -= bet;
         croupier.Money += bet;
     }
     else if (CardsValueSum(croupier.Cards) > 21)
     {
         Console.WriteLine($"Sum of {croupier.Name} cards more than 21 ({CardsValueSum(croupier.Cards)}).\n\nYOU WIN!");
         player.Money   += bet;
         croupier.Money -= bet;
     }
     else if (CardsValueSum(player.Cards) > CardsValueSum(croupier.Cards))
     {
         Console.WriteLine($"Sum of your cards ({CardsValueSum(player.Cards)}) more than sum of {croupier.Name} cards ({CardsValueSum(croupier.Cards)})\n\nYOU WON!");
         player.Money   += bet;
         croupier.Money -= bet;
     }
     else if (CardsValueSum(player.Cards) < CardsValueSum(croupier.Cards))
     {
         Console.WriteLine($"Sum of your cards ({CardsValueSum(player.Cards)}) less than sum of {croupier.Name} cards ({CardsValueSum(croupier.Cards)})\n\nYOU LOSE!");
         player.Money   -= bet;
         croupier.Money += bet;
     }
     else if (CardsValueSum(player.Cards) == CardsValueSum(croupier.Cards))
     {
         Console.WriteLine($"Sum of your cards ({CardsValueSum(player.Cards)}) equal to sum of {croupier.Name} cards ({CardsValueSum(croupier.Cards)})\n\nDRAW!");
     }
 }
Exemple #2
0
        public void BlackJackGame(CardPlayer player, CardPlayer croupier)
        {
            CreateDeck();
            ShuffleDeck();
            player.Cards   = new List <Card>();
            croupier.Cards = new List <Card>();

            var bet = GetPlayerBet();

            DealCards(player, 2);
            DealCards(croupier, 2);

            PlayerFirstCardsOpenReport(croupier);
            PlayerCardsReport(player);

            if (CardsValueSum(player.Cards) == 21)
            {
                Console.WriteLine("You have 21.");
            }
            else
            {
                BlackJackPlayerTurn(player);
                if (CardsValueSum(player.Cards) <= 21)
                {
                    BlackJackCroupierTurn(croupier, CardsValueSum(player.Cards));
                }
            }

            BlackJackGameResult(player, croupier, bet);

            Console.Write("Press any key to coninue...");
            Console.ReadKey();
        }
Exemple #3
0
 private void BlackJackCroupierTurn(CardPlayer player, int firstPlayerCardsSum)
 {
     PlayerCardsReport(player);
     while (CardsValueSum(player.Cards) < firstPlayerCardsSum && CardsValueSum(player.Cards) < 21)
     {
         DealCards(player);
         PlayerCardsReport(player);
     }
 }
Exemple #4
0
 private void DealCards(CardPlayer player, int numberOfCards = 1)
 {
     if (Deck.Count < numberOfCards)
     {
         Console.WriteLine("Not enough cards in deck");
     }
     else
     {
         player.Cards.AddRange(Deck.GetRange(0, numberOfCards));
         Deck.RemoveRange(0, numberOfCards);
     }
 }
Exemple #5
0
        public void PlayerFirstCardsOpenReport(CardPlayer player)
        {
            Console.WriteLine($"{player.Name}'s cards:");
            var count = player.Cards.Count;

            if (count > 0)
            {
                Console.BackgroundColor = ConsoleColor.White;
                Console.ForegroundColor = ConsoleColor.Black;

                for (int index = 0; index < count; index++)
                {
                    Console.Write("┌─────────┐");
                }
                Console.WriteLine();

                Console.Write("│");
                player.Cards[0].CardPropToConsole();
                Console.Write("      │");
                for (int index = 1; index < count; index++)
                {
                    Console.Write("│▒▒▒▒▒▒▒▒▒│");
                }
                Console.WriteLine();

                for (int i = 0; i < 7; i++)
                {
                    Console.Write("│         │");
                    for (int index = 1; index < count; index++)
                    {
                        Console.Write("│▒▒▒▒▒▒▒▒▒│");
                    }
                    Console.WriteLine();
                }

                Console.Write("│      ");
                player.Cards[0].CardPropToConsole();
                Console.Write("│");
                for (int index = 1; index < count; index++)
                {
                    Console.Write("│▒▒▒▒▒▒▒▒▒│");
                }
                Console.WriteLine();

                for (int index = 0; index < count; index++)
                {
                    Console.Write("└─────────┘");
                }
                Console.WriteLine();

                Console.ResetColor();
            }
        }
Exemple #6
0
 private void BlackJackPlayerTurn(CardPlayer player)
 {
     while (CardsValueSum(player.Cards) <= 21)
     {
         Console.WriteLine($"Sum of your cards is {CardsValueSum(player.Cards)}.");
         Console.WriteLine("1 - One more card\n2 - Enough");
         if (ConditionParse(2) == 1)
         {
             DealCards(player);
             PlayerCardsReport(player);
         }
         else
         {
             break;
         }
     }
 }
Exemple #7
0
        public void BlackJackGames()
        {
            var player   = new CardPlayer("Player");
            var croupier = new CardPlayer("Croupier");

            while (player.Money > 0 && croupier.Money > 0)
            {
                Console.Clear();
                Console.WriteLine(player.Money);
                Console.WriteLine(croupier.Money);
                BlackJackGame(player, croupier);
            }

            if (player.Money <= 0)
            {
                Console.WriteLine("You lost all your money. GAME OVER.");
            }
            if (croupier.Money <= 0)
            {
                Console.WriteLine($"You won all {croupier.Name} money. GAME OVER.");
            }
        }
Exemple #8
0
 public void PlayerCardsReport(CardPlayer player)
 {
     Console.WriteLine($"{player.Name}'s cards:");
     CardsInRowReport(player.Cards);
 }