Esempio n. 1
0
        static void Main()
        {
            Printer.Welcome();
            player.Name = Printer.Introduce();
            int best = BestScore.GetBest(player.Name);

            Printer.PrintScreenBeforeGameStarts(player, bidsInGame);
            StartNewGameWithNewChips();
            Console.WriteLine("\nТы проиграл))))");
            player.account.Value = 10;
            Main();
        }
Esempio n. 2
0
        public static void StartNewGameWithNewChips()
        {
            while (player.account.Value > 0)
            {
                //Игрок делает ставку
                bidsInGame += RulesAndLogic.MakeBid(ref player, bidsInGame);
                //Раздача первых карт и вывод в консоль
                RulesAndLogic.StartNewGame(ref player, ref dealer, ref Deck);
                Printer.PrintScreen(player, dealer, bidsInGame);

                //Игрок набирает карты
                RulesAndLogic.PlayerTakeCards(ref player, ref Deck, ref bidsInGame);

                //Диллер действует по своему шаблону из табл. 1
                dealer.hideCards = false;
                while (RulesAndLogic.DealerDecision(dealer.Score(), player.Score()) != 0)
                {
                    Console.WriteLine("Дилер берет карту...");
                    System.Threading.Thread.Sleep(1000);
                    dealer.AddCard(Deck.GetCard());
                    Printer.PrintScreen(player, dealer, bidsInGame);
                }

                //Подведение итогов
                if (RulesAndLogic.GameResults(dealer.Score(), player.Score()) == 2)
                {
                    player.account.Deposit(bidsInGame * 2);
                }
                else if (RulesAndLogic.GameResults(dealer.Score(), player.Score()) == 3)
                {
                    player.account.Deposit(bidsInGame);
                }
                //Вывод информации
                Printer.PrintScreen(player, dealer, bidsInGame);
                Printer.GameResult(RulesAndLogic.GameResults(dealer.Score(), player.Score()));

                //Сохраняем данные
                if (player.account.Value > BestScore.GetBest(player.Name))//&& (player.account.Value > 10))
                {
                    BestScore.SetBest(player.Name, player.account.Value);
                }
                //Запрос на продолжение игры
                Printer.ContinueOrExit();



                //Сброс данных
                RulesAndLogic.Reset(ref Deck, ref player, ref dealer, ref bidsInGame);
            }
        }