public static void Main(string[] args) { Console.BufferWidth = Console.WindowWidth = ConsoleWindowWidth; Console.BufferHeight = Console.WindowHeight = ConsoleWindowHeight; Console.CursorVisible = false; var game = new PlayGame();// Instantiate the game game.AllowedActionsChanged += OnAllowedActionsChanged; game.LastStateChanged += OnLastStateChanged; game.Dealer.Hand.Changed += OnHandChanged; game.Player.Hand.Changed += OnHandChanged; game.Play(); while (true) { var key = Console.ReadKey(true); switch (key.Key) { case ConsoleKey.Enter: //Deal case ConsoleKey.Spacebar: // Stand if (game.IsActionAllowed(Blackjack.Action.Deal)) { game.DealHands(); } else { game.Stand(); } break; case ConsoleKey.H: // Hit if (game.IsActionAllowed(Blackjack.Action.Hit)) { game.Hit(); } break; case ConsoleKey.D: // Double Down if (game.IsActionAllowed(Blackjack.Action.Hit)) { game.Hit(); if (game.IsActionAllowed(Blackjack.Action.Stand)) { game.Stand(); } } break; } } }