Пример #1
0
        public void CroupierFinishTest()
        {
            Game     game     = new Game();
            Croupier croupier = new Croupier(game);

            croupier.BeginGame();
            croupier.Finish();
            Assert.AreEqual(croupier.Hand.Cards.Count, 0);

            Assert.Pass();
        }
Пример #2
0
        public void Start()
        {
            Logger logger = new Logger(this);

            logger.WriteStartMessage();

            for (int i = 1; i <= 40; i++)
            {
                logger.WriteCurrentBet(i);

                if (Deck.CountCards() < 140)
                {
                    Deck = new Deck();
                }

                foreach (Player player in Players)
                {
                    player.MakeBet();
                    logger.WriteMadeBetMessage(player);
                }

                Croupier.BeginGame();

                foreach (Player player in Players)
                {
                    player.BeginGame();
                }

                foreach (Player player in Players)
                {
                    player.PlayTurn();
                }

                Croupier.DrawCards();

                foreach (Player player in Players)
                {
                    player.Finish();
                }

                for (int j = 0; j < Players.Count; j++)
                {
                    if (Players[j].Balance <= 0)
                    {
                        logger.WriteOutOfGameMessage(Players[j]);
                        Players.Remove(Players[j]);
                        j--;
                    }
                }

                if (Players.Count == 0)
                {
                    logger.WriteGameOverMessage();
                    break;
                }

                Croupier.Finish();
            }

            logger.WriteResults();
        }
Пример #3
0
        public void PlayerFinishTest()
        {
            Game     game     = new Game();
            FirstBot bot      = new FirstBot(game, 1000);
            Croupier croupier = game.Croupier;

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs));
            bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds));
            bot.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Diamonds));
            bot.Finish();
            Assert.AreEqual(bot.Balance, 950);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs));
            bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds));
            bot.Hand.Cards.Add(new Card(CardRank.Six, CardSuit.Diamonds));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            croupier.Hand.Cards.Add(new Card(CardRank.Ten, CardSuit.Clubs));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 1000);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            bot.Hand.Cards.Add(new Card(CardRank.Ten, CardSuit.Clubs));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Clubs));
            croupier.Hand.Cards.Add(new Card(CardRank.Ten, CardSuit.Spades));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 1000);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            bot.Hand.Cards.Add(new Card(CardRank.Ten, CardSuit.Clubs));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Clubs));
            croupier.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Spades));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 1025);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs));
            bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds));
            bot.Hand.Cards.Add(new Card(CardRank.Six, CardSuit.Diamonds));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            croupier.Hand.Cards.Add(new Card(CardRank.Four, CardSuit.Clubs));
            croupier.Hand.Cards.Add(new Card(CardRank.Six, CardSuit.Spades));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 1000);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs));
            bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds));
            bot.Hand.Cards.Add(new Card(CardRank.Six, CardSuit.Diamonds));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            croupier.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Clubs));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 1025);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs));
            bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds));
            bot.Hand.Cards.Add(new Card(CardRank.Four, CardSuit.Diamonds));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            croupier.Hand.Cards.Add(new Card(CardRank.Eight, CardSuit.Clubs));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 1000);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs));
            bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds));
            bot.Hand.Cards.Add(new Card(CardRank.Four, CardSuit.Diamonds));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            croupier.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Clubs));
            croupier.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Diamonds));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 1025);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs));
            bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds));
            bot.Hand.Cards.Add(new Card(CardRank.Four, CardSuit.Diamonds));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            croupier.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Clubs));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 1025);

            bot = new FirstBot(game, 1000);

            bot.MakeBet();
            bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs));
            bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds));
            croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades));
            croupier.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Clubs));
            bot.Finish();
            croupier.Finish();
            Assert.AreEqual(bot.Balance, 950);

            Assert.Pass();
        }