コード例 #1
0
ファイル: Program.cs プロジェクト: theguire/Blackjack2017
        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;
                }
            }
        }