public static class Globals
public static int TOTAL = 0;
public static string[] HAND = new string[11];
public static int PLACE = 0;
public static int ACE = 0;
public static int dealerTOTAL = 0;
public static string[] dealerHAND = new string[11];
public static int dealerPLACE = 0;
static string[] deck = {"A", "A", "A", "A", "2", "2", "2", "2", "3", "3", "3", "3", "4", "4", "4", "4", "5", "5", "5", "5", "6", "6", "6", "6", "7", "7", "7", "7", "8", "8", "8", "8", "9", "9", "9", "9", "10", "10", "10", "10", "J", "J", "J", "J", "Q", "Q", "Q", "Q", "K", "K", "K", "K"};
public static void Main()
long date = DateTime.Now.Ticks;
Console.Write("Before we begin, please confirm you're not a robot by entering the above number: ");
date = long.Parse(Console.ReadLine());
Random seed = new Random(Convert.ToInt32(date%2147483647));
for (int card = 0; card < deck.Length - 1; card++)
int otherCard = seed.Next(card, deck.Length);
string temp = deck[card];
deck[card] = deck[otherCard];
Console.WriteLine("Welcome to Blackjack!\n\nRULES:\nAttempt to beat the dealer by getting a count as close to 21 as possible, without going over 21. It's up to you if an ace is worth 1 or 11. Face cards are 10 and any other card is its pip value.\nPress enter to continue.");
Globals.HAND[0] = getCard();
Globals.HAND[1] = getCard();
Console.WriteLine("\nHERE ARE YOUR STARTING CARDS:");
foreach (var card in Globals.HAND)
Console.Write(card + " ");
Globals.dealerHAND[0] = getCard();
Globals.dealerHAND[1] = getCard();
Console.Write("\nHERE IS ONE OF THE DEALER'S STARTING CARDS:\n" + Globals.dealerHAND[0]);
if (Globals.HAND[Globals.PLACE] == "A")
Console.WriteLine("\nYou've drawn an ace! Would you like its value to be 1 or 11? (Please enter 1 or 11)");
answ = Console.ReadLine();
Console.WriteLine("\n\nWould you like to hit? (Type 'hit' or 'stand')");
answ = Console.ReadLine();
Globals.HAND[Globals.PLACE] = getCard();
Console.WriteLine("\nHERE ARE YOUR CURRENT CARDS:");
foreach (var card in Globals.HAND)
Console.Write(card + " ");
Console.WriteLine("\nYou BUSTED!");
else if (answ == "stand")
Console.WriteLine("\nHERE ARE YOUR DEALER'S CARDS: ");
foreach (var card in Globals.dealerHAND)
Console.Write(card + " ");
if (Globals.dealerTOTAL > 21)
Console.WriteLine("Dealer BUSTED!");
else if (Globals.dealerTOTAL > Globals.TOTAL)
Console.WriteLine("\n\nYou lose! Try again.");
else if (Globals.dealerTOTAL == Globals.TOTAL)
Console.WriteLine("\n\nIt's a tie! Try again.");
else if (Globals.dealerTOTAL < Globals.TOTAL)
Console.WriteLine("\n\nCongratulations! You win!");
Globals.TOTAL += Globals.ACE;
foreach (string card in Globals.HAND)
if (card == "K" || card == "Q" || card == "J")
int cardValue = Convert.ToInt32(card);
Globals.TOTAL += cardValue;
if (Globals.dealerTOTAL <= 15)
Globals.dealerHAND[Globals.dealerPLACE] = getCard();
static int dealerConversion()
foreach (string card in Globals.dealerHAND)
if (card == "K" || card == "Q" || card == "J")
Globals.dealerTOTAL += 10;
if (Globals.dealerTOTAL <= 10)
Globals.dealerTOTAL += 11;
Globals.dealerTOTAL += 1;
int cardValue = Convert.ToInt32(card);
Globals.dealerTOTAL += cardValue;
return Globals.dealerTOTAL;