Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace BlackjackCardGame
- {
- class Program
- {
- private static int dealerScore;
- private static int playerScore;
- public static int playerHandScore;
- public static int dealerHandScore;
- private static int tie;
- private static List<Card> dealer = new List<Card> { };
- private static List<Card> player = new List<Card> { };
- private static int total;
- static void Main(string[] args)
- {
- Console.WriteLine("Welcome to the game of BlackJack! The rules are simple: ");
- Console.WriteLine("-Do not go over 21\n-Hit to get another card\n-Stay to stay at your current amount\n-Bust if you go over 21");
- //dealerScore = 0;
- //playerScore = 0;
- while (true)
- {
- Console.Write("\nWould you like to deal the hands?\n(Y or N) ");
- string ans = Console.ReadLine();
- if (ans.ToLower().Equals("y"))
- {
- playerHandScore = 0;
- dealerHandScore = 0;
- player.Clear();
- dealer.Clear();
- Console.WriteLine("We made it this far");
- for (int i = 0; i < 2; i++)
- {
- player.Add(new Card(true));
- System.Threading.Thread.Sleep(150);
- dealer.Add(new Card(true));
- }
- //propmpt player to hit as much as they want to display the information
- while (true)
- {
- printHandScore(player, dealer);
- string answer = "";
- while (!answer.ToLower().Equals("hit") && !answer.ToLower().Equals("stay"))
- {
- Console.WriteLine("Would you like to Hit or Stay?");
- answer = Console.ReadLine();
- }
- if (answer.ToLower().Equals("hit"))
- {
- player.Add(new Card(true));
- }
- getHandScore(player, true);
- if (playerHandScore > 21)
- {
- Console.WriteLine("Over 21! You lose.");
- break;
- }
- if (dealerHandScore <= 17)
- {
- dealer.Add(new Card(true));
- }
- getHandScore(dealer, false);
- if (dealerHandScore > 21)
- {
- Console.WriteLine("Dealer bust! you win!");
- break;
- }
- if (answer.ToLower().Equals("stay"))
- {
- Console.WriteLine("You have chosen to say with a hand score of: " + playerHandScore);
- while (dealerHandScore <= 17)
- {
- Console.WriteLine("\nThe dealer continues to play cards to get above 17 and try to stay under 21.");
- dealer.Add(new Card(true));
- getHandScore(dealer, false);
- Console.WriteLine("The dealers current score is now: " + dealerHandScore);
- }
- break;
- }
- answer = string.Empty;
- }
- if (playerHandScore <= 21 && dealerHandScore <= 21)
- {
- if (playerHandScore > dealerHandScore)
- {
- Console.WriteLine("Player won!");
- playerScore++;
- }
- else if (playerHandScore < dealerHandScore)
- {
- Console.WriteLine("Dealer Wins!");
- dealerScore++;
- }
- else
- {
- Console.WriteLine("It's a Tie!");
- tie++;
- }
- }
- if (playerHandScore > 21 && dealerHandScore <= 21)
- {
- Console.WriteLine("The player is over 21, dealer wins!");
- dealerScore++;
- }
- else if (playerHandScore <= 21 && dealerHandScore > 21)
- {
- Console.WriteLine("The dealer is over 21, player wins!");
- playerScore++;
- }
- else if (playerHandScore > 21 && dealerHandScore > 21)
- {
- Console.WriteLine("No one wins.");
- }
- //check winner
- //add scores
- }
- else if (ans.ToLower().Equals("n"))
- break;
- else
- Console.WriteLine("Please answer with (Y or N)");
- }
- }
- public static void getHandScore(List<Card> hand, bool player)
- {
- if (player)
- playerHandScore = 0;
- else
- dealerHandScore = 0;
- foreach (Card c in hand)
- {
- if (player)
- playerHandScore += c.getCardNumber();
- else
- dealerHandScore += c.getCardNumber();
- }
- }
- public static void printHandScore(List<Card> Player, List<Card> Dealer)
- {
- getHandScore(Player, true);
- getHandScore(Dealer, false);
- Console.WriteLine("\nPlayer Score: " + playerScore);
- Console.WriteLine("Player Hand Score: " + playerHandScore);
- Console.WriteLine("Dealer Score: " + dealerScore);
- Console.WriteLine("Dealer Hand Score: " + dealerHandScore);
- }
- }
- class Card
- {
- private string cardName;
- private int cardNumber;
- private string suit;
- private int suitNumber;
- public Card(bool deal)
- {
- this.cardNumber = 0;
- this.cardName = "";
- this.suit = "";
- this.suitNumber = 0;
- if (deal)
- dealCard();
- }
- public void dealCard()
- {
- Random rand = new Random();
- suitNumber = rand.Next(0, 3);
- if (suitNumber.Equals(0))
- suit = "Clubs";
- if (suitNumber.Equals(1))
- suit = "Spades";
- if (suitNumber.Equals(2))
- suit = "Diamonds";
- if (suitNumber.Equals(3))
- suit = "Hearts";
- cardNumber = rand.Next(1, 10);
- if (cardNumber.Equals(1))
- cardName = "Ace";
- if (cardNumber.Equals(2))
- cardName = "Two";
- if (cardNumber.Equals(3))
- cardName = "Three";
- if (cardNumber.Equals(4))
- cardName = "Four";
- if (cardNumber.Equals(5))
- cardName = "Five";
- if (cardNumber.Equals(6))
- cardName = "Six";
- if (cardNumber.Equals(7))
- cardName = "Seven";
- if (cardNumber.Equals(8))
- cardName = "Eight";
- if (cardNumber.Equals(9))
- cardName = "Nine";
- if (cardNumber.Equals(10))
- cardName = "Ten";
- }
- public string getCardName()
- {
- return cardName;
- }
- public int getCardNumber()
- {
- return cardNumber;
- }
- public string getSuit()
- {
- return suit;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement