Ejemplo n.º 1
0
        public void Deal_SinglePlayerAndDealer_CurrectValues()
        {
            var game      = new BlackJackGame(cardProvider, DealerNamedData, 2);
            var playerId  = "8625cf04-b7e1";
            var player2Id = "8625cf04-b7e2";

            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = playerId, userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = player2Id, userName = playerName2
            }, HandIdentifierProvider, 1));
            game.SetPlayerStatusReady(playerId);
            game.SetPlayerStatusReady(player2Id);
            game.DealHands();

            Assert.AreEqual(GameStatus.InProgress, game.Status);
            Assert.AreEqual(2, game.Players.Last().Hands.First().Cards.Count());
            Assert.AreEqual(5, game.Players.First().Hands.First().PointValue);
            Assert.AreEqual(5, game.Players.Skip(1).Take(1).Single().Hands.Single().PointValue);
            Assert.AreEqual(5, game.Players.Last().Hands.First().PointValue);
            Assert.IsTrue(game.Players.First().Hands.First().Cards.First().FaceDown);
            Assert.IsFalse(game.Players.First().Hands.First().Cards.Last().FaceDown);
            Assert.IsTrue(game.Players.Skip(1).Take(1).Single().Hands.First().Cards.First().FaceDown);
            Assert.IsFalse(game.Players.Skip(1).Take(1).Single().Hands.First().Cards.Last().FaceDown);
            Assert.IsTrue(game.Players.Skip(2).Take(1).Single().Hands.First().Cards.First().FaceDown);
            Assert.IsFalse(game.Players.Skip(2).Take(1).Single().Hands.First().Cards.Last().FaceDown);
        }
Ejemplo n.º 2
0
        public void NewGameMax3Players_Add4thPlayer_ThrowsInvalidOperation()
        {
            var game   = new BlackJackGame(cardProvider, DealerNamedData, 3);
            var player = new Avitar(playerName);

            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));

            Assert.Throws <InvalidOperationException>(() => game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1)));
            Assert.AreEqual(4, game.Players.Count());
            Assert.AreEqual(GameStatus.Ready, game.Status);
            Assert.AreEqual(game.CurrentPlayer, game.Players.First());
        }
Ejemplo n.º 3
0
        public void Deal_ThenAddNewPlayer_ThrowInvalidOperationException()
        {
            var game      = new BlackJackGame(cardProvider, DealerNamedData, 2);
            var player    = new Avitar(playerName);
            var player2   = new Avitar(playerName2);
            var playerId  = "8625cf04-b7e1";
            var player2Id = "8625cf04-b7e2";

            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = playerId, userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = player2Id, userName = playerName2
            }, HandIdentifierProvider, 1));
            game.SetPlayerStatusReady(playerId);
            game.SetPlayerStatusReady(player2Id);
            game.DealHands();
            Assert.Throws <InvalidOperationException>(() =>
                                                      game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1))
                                                      );
        }
        private int PlayBlackJack()
        {
            BlackJackGame game = new BlackJackGame();

            while (game.Money > 0)
            {
                Console.WriteLine("How much do you want to bet? (Max: {0} or enter 0 to quit): ", game.Money);

                String entry = Console.ReadLine();

                bool numeric = Int32.TryParse(entry, out int betAmount);

                if (numeric)
                {
                    if (betAmount <= 0)
                    {
                        // player wants to quit, the amount of money is the acheived score!
                        return(game.Money);
                    }

                    if (betAmount <= game.Money)
                    {
                        PlayOneRoundOfBlackJack(game, betAmount);
                    }
                }
            }

            return(game.Money);
        }
Ejemplo n.º 5
0
        private void btnStartGame_Click(object sender, RoutedEventArgs e)
        {
            Player   player   = null;
            CardDeck cardDeck = null;
            Dealer   dealer   = new Dealer();

            if (!string.IsNullOrWhiteSpace(txtPlayerName.Text))
            {
                player = new Player(txtPlayerName.Text);

                int deck = 1;

                if (!string.IsNullOrWhiteSpace(txtNumberOfDeck.Text))
                {
                    int.TryParse(txtNumberOfDeck.Text, out deck);

                    cardDeck = new CardDeck(deck);
                    cardDeck.ShuffleDeck();
                }

                if (player != null && cardDeck != null)
                {
                    BlackJackGame game = new BlackJackGame(cardDeck, dealer, player);

                    MainGameInterface mainGameInterface = new MainGameInterface(game);

                    this.Content = mainGameInterface;
                }
            }
            else
            {
                MessageBox.Show("Please Check Name and Deck Count", "Error");
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 初始化.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormOnePlayer_Load(object sender, EventArgs e)
        {
            // 初始化游戏类.
            game = new BlackJackGame();

            // 初始化玩家.
            player = new Player()
            {
                Name = DEFAULT_PLAYER_NAME,
            };
            computerPlayer = new ComputerPlayer()
            {
                Name = DEFAULT_COMPUTER_PLAYER_NAME,
            };

            // 玩家加入游戏.
            game.AddNewPlayer(player);
            game.AddNewPlayer(computerPlayer);

            // 初始化游戏.
            //game.InitGames();


            // 事件绑定.
            // 当2张牌发完以后, 显示牌局.
            game.AfterTakeFirstTwoCard += new AfterTakeFirstTwoCardHandler(ShowAfterTakeFirstTwoCard);
        }
        private void PlayOneRoundOfBlackJack(BlackJackGame game, int bet)
        {
            game.StartNewGame(bet);

            while (game.GameRunning)
            {
                Console.WriteLine("Dealer: {0}", game.GetVisibleDealerCardsAsString());
                Console.WriteLine("Player: {0}", game.GetPlayerCardsAsString());

                Console.WriteLine("One more card (Y/N)?");

                char entry = ' ';
                while ('Y' != entry && 'N' != entry)
                {
                    entry = Char.ToUpper(Console.ReadKey().KeyChar);
                }

                if ('Y' == entry)
                {
                    game.Hit();
                }
                else
                {
                    game.Stand();
                }
            }

            DisplayBlackJackResult(game);
        }
Ejemplo n.º 8
0
        public void NewGame_NullDeck_PlayerArgumentNullException()
        {
            var game = new BlackJackGame(cardProvider, DealerNamedData, 4);

            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));

            Assert.Throws <InvalidOperationException>(() => game.AddPlayer(
                                                          new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1)));
        }
Ejemplo n.º 9
0
 public IActionResult NewGame()
 {
     //Creates a new blackjack game with one player and an inital balance set through the settings designer
     game      = new BlackJackGame(500);
     firstTurn = true;
     ShowBankValue();
     return(RedirectToAction("index"));
 }
Ejemplo n.º 10
0
        public Guid CreateGame(string playerName)
        {
            var newId  = Guid.NewGuid();
            var deck   = new Deck(new RandomNumberGenerator());
            var dealer = new BlackJackDealer();
            var player = new BlackJackPlayer(playerName);

            _games[newId] = new BlackJackGame(newId, deck, dealer, player);
            return(newId);
        }
Ejemplo n.º 11
0
        public void BetUp()
        {
            Player player = new Player();
            Deck deck = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);
            game.Player.BetUp();
            Assert.IsTrue(game.Player.Bet == 20);
        }
Ejemplo n.º 12
0
        private BlackJackGameModel ToModel(BlackJackGame game)
        {
            var result = new BlackJackGameModel();

            result.Id     = game.Id;
            result.Dealer = ToModel(game.Dealer);
            result.Player = ToModel(game.Player);
            result.Winner = game.GetWinnerName();
            return(result);
        }
Ejemplo n.º 13
0
        public void TestStartingMoneyAndInitialBet()
        {
            Player player = new Player();
            Deck   deck   = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            Assert.IsTrue(game.Player.Money == 90);
            Assert.IsTrue(game.Player.Bet == 10);
        }
Ejemplo n.º 14
0
        public void BetDownLowerLimit()
        {
            Player player = new Player();
            Deck deck = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            game.Player.BetDown();
            Assert.IsTrue(game.Player.Bet == 10);
        }
Ejemplo n.º 15
0
        public void BetUp()
        {
            Player player = new Player();
            Deck   deck   = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            game.Player.BetUp();
            Assert.IsTrue(game.Player.Bet == 20);
        }
Ejemplo n.º 16
0
        public void BetDownLowerLimit()
        {
            Player player = new Player();
            Deck   deck   = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            game.Player.BetDown();
            Assert.IsTrue(game.Player.Bet == 10);
        }
Ejemplo n.º 17
0
        private BlackJackGameModel ToModel(BlackJackGame game)
        {
            var result = new BlackJackGameModel
            {
                Id     = game.Id,
                Dealer = ToModel(game.Dealer),
                Player = ToModel(game.Player),
                Winner = game.GetWinnerName()
            };

            return(result);
        }
Ejemplo n.º 18
0
        public void NewGame_SinglePlayer_PlayerCountOne()
        {
            var game = new BlackJackGame(cardProvider, DealerNamedData, 1);

            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));;
            Assert.AreEqual(2, game.Players.Count());
            Assert.AreEqual(GameStatus.Ready, game.Status);
            Assert.AreEqual(game.CurrentPlayer, game.Players.First());
        }
Ejemplo n.º 19
0
        public void BlackJackGame_WhenCreatingNewGameWith4Players_ShouldHave4PlayersAndADealer()
        {
            // Arrange
            BlackJackGame theGame = new BlackJackGame(4);

            // Act
            theGame.StartNewRound();
            int expected = 4;

            // Assert
            Assert.AreEqual(expected, theGame.Players.Count);
            Assert.IsNotNull(theGame.Dealer);
        }
Ejemplo n.º 20
0
        public void Deal_NullDeck_ThrowArgumentNullException()
        {
            var game      = new BlackJackGame(cardProvider, DealerNamedData, 4);
            var player2Id = "8625cf04-b7e2";

            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = player2Id, userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = player2Id, userName = playerName2
            }, HandIdentifierProvider, 1));
            Assert.Throws <ArgumentOutOfRangeException>(() => game.DealHands());
        }
Ejemplo n.º 21
0
        public ActionResult InitGame(InitGameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Index)));
            }

            BlackJackGame theGame = new BlackJackGame(model.NumberOfPlayers);

            theGame.StartNewRound();

            Session["BlackJack"] = theGame;

            return(RedirectToAction(nameof(TheGame)));
        }
Ejemplo n.º 22
0
        public void TestBust()
        {
            Player player = new Player();
            Dealer dealer = new Dealer();
            Deck deck = new Deck();
            player.AddCard(new Card(Rank.NINE, Suit.DIAMOND));
            player.AddCard(new Card(Rank.TEN, Suit.SPADE));
            player.AddCard(new Card(Rank.FIVE, Suit.SPADE));

            BlackJackGame game = new BlackJackGame(deck, player, dealer);
            game.CheckScores();

            Console.WriteLine(game.Status);
            Assert.IsTrue(game.Status == GameState.LOSE);
        }
Ejemplo n.º 23
0
        public void NewGame_SinglePlayerAndDealer_CurrentPlayerIndexZero()
        {
            var game = new BlackJackGame(cardProvider, DealerNamedData, 4);

            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName
            }, HandIdentifierProvider, 1));
            game.AddPlayer(new BlackJackPlayer(new AvitarDto()
            {
                id = "8625cf04-b7e2", userName = playerName2
            }, HandIdentifierProvider, 1));
            Assert.AreEqual(playerName, game.CurrentPlayer.Name);
            Assert.AreEqual(2, game.Players.Count());
            Assert.AreEqual(GameStatus.Waiting, game.Status);
        }
Ejemplo n.º 24
0
        public void TestBust()
        {
            Player player = new Player();
            Dealer dealer = new Dealer();
            Deck   deck   = new Deck();

            player.AddCard(new Card(Rank.NINE, Suit.DIAMOND));
            player.AddCard(new Card(Rank.TEN, Suit.SPADE));
            player.AddCard(new Card(Rank.FIVE, Suit.SPADE));

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            game.CheckScores();

            Console.WriteLine(game.Status);
            Assert.IsTrue(game.Status == GameState.LOSE);
        }
Ejemplo n.º 25
0
        public void BlackJackGame_WhenDealerAndPlayerHas19Points_ShouldSetPlayerAsLooser()
        {
            // Arrange
            BlackJackGame theGame  = new BlackJackGame(1);
            var           expected = PlayerGameStatus.Looser;

            // Act
            theGame.Dealer.AddCardToHand(new Card("Kung", 10));
            theGame.Dealer.AddCardToHand(new Card("9", 9));

            theGame.Players[0].AddCardToHand(new Card("Kung", 10));
            theGame.Players[0].AddCardToHand(new Card("9", 9));

            theGame.FinishGame();

            // Assert
            Assert.AreEqual(expected, theGame.Players[0].GameStatus);
        }
Ejemplo n.º 26
0
        public void Test5CardsUnder21Win()
        {
            Player player = new Player();
            Deck deck = new Deck();
            Dealer dealer = new Dealer();
            player.AddCard(new Card(Rank.TWO, Suit.DIAMOND));
            player.AddCard(new Card(Rank.TWO, Suit.SPADE));
            player.AddCard(new Card(Rank.ACE, Suit.SPADE));
            player.AddCard(new Card(Rank.FOUR, Suit.SPADE));
            player.AddCard(new Card(Rank.ACE, Suit.HEART));

            dealer.AddCard(new Card(Rank.TEN, Suit.HEART));
            dealer.AddCard(new Card(Rank.TEN, Suit.SPADE));

            BlackJackGame game = new BlackJackGame(deck, player, dealer);
            game.CheckScores();
            Assert.IsTrue(game.Status == GameState.WIN);
        }
 private void DisplayBlackJackResult(BlackJackGame game)
 {
     Console.WriteLine("Dealers Deck: {0}", game.GetVisibleDealerCardsAsString());
     Console.WriteLine("Players Deck: {0}", game.GetPlayerCardsAsString());
     if (game.GameDraw)
     {
         Console.WriteLine("Game is a draw!");
     }
     else if (game.GameWon)
     {
         Console.WriteLine("You won this round!");
     }
     else
     {
         Console.WriteLine("You lost this round!");
     }
     Console.WriteLine("You have {0} left!", game.Money);
 }
Ejemplo n.º 28
0
        public void TestWin21()
        {
            Player player = new Player();
            Deck   deck   = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            dealer.AddCard(new Card(Rank.TEN, Suit.HEART));
            dealer.AddCard(new Card(Rank.EIGHT, Suit.SPADE));

            player.AddCard(new Card(Rank.ACE, Suit.DIAMOND));
            player.AddCard(new Card(Rank.JACK, Suit.SPADE));

            game.CheckScores();
            game.RestartGame();
            Assert.AreEqual(105, game.Player.Money);
        }
Ejemplo n.º 29
0
        public void TestBetWin()
        {
            Player player = new Player();
            Deck   deck   = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            player.AddCard(new Card(Rank.ACE, Suit.DIAMOND));
            player.AddCard(new Card(Rank.NINE, Suit.SPADE));

            dealer.AddCard(new Card(Rank.TEN, Suit.HEART));
            dealer.AddCard(new Card(Rank.EIGHT, Suit.SPADE));

            game.Decision = true;
            game.CheckScores();
            game.RestartGame();
            Assert.IsTrue(game.Player.Money == 100);
        }
Ejemplo n.º 30
0
        public void TestLose()
        {
            Player player = new Player();
            Dealer dealer = new Dealer();
            Deck   deck   = new Deck();

            player.AddCard(new Card(Rank.NINE, Suit.DIAMOND));
            player.AddCard(new Card(Rank.TEN, Suit.SPADE));

            dealer.AddCard(new Card(Rank.TEN, Suit.CLUB));
            dealer.AddCard(new Card(Rank.TEN, Suit.HEART));

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            game.Decision = true;
            game.CheckScores();

            Assert.IsTrue(game.Status == GameState.LOSE);
        }
Ejemplo n.º 31
0
        public void BlackJackGame_WhenPlayerHasBJAndDealerHas21_ShouldSetPlayerGameStatusToWinner()
        {
            // Arrange
            BlackJackGame theGame  = new BlackJackGame(1);
            var           expected = PlayerGameStatus.Winner;

            // Act
            theGame.Dealer.AddCardToHand(new Card("Kung", 10));
            theGame.Dealer.AddCardToHand(new Card("7", 7));
            theGame.Dealer.AddCardToHand(new Card("4", 4));

            theGame.Players[0].AddCardToHand(new Card("Kung", 10));
            theGame.Players[0].AddCardToHand(new Card("Äss", 11));

            theGame.FinishGame();

            // Assert
            Assert.AreEqual(expected, theGame.Players[0].GameStatus);
        }
Ejemplo n.º 32
0
        public void TestBetWin()
        {
            Player player = new Player();
            Deck deck = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            player.AddCard(new Card(Rank.ACE, Suit.DIAMOND));
            player.AddCard(new Card(Rank.NINE, Suit.SPADE));

            dealer.AddCard(new Card(Rank.TEN, Suit.HEART));
            dealer.AddCard(new Card(Rank.EIGHT, Suit.SPADE));

            game.Decision = true;
            game.CheckScores();
            game.RestartGame ();
            Assert.IsTrue(game.Player.Money == 100);
        }
Ejemplo n.º 33
0
        public void Test5CardsUnder21Win()
        {
            Player player = new Player();
            Deck   deck   = new Deck();
            Dealer dealer = new Dealer();

            player.AddCard(new Card(Rank.TWO, Suit.DIAMOND));
            player.AddCard(new Card(Rank.TWO, Suit.SPADE));
            player.AddCard(new Card(Rank.ACE, Suit.SPADE));
            player.AddCard(new Card(Rank.FOUR, Suit.SPADE));
            player.AddCard(new Card(Rank.ACE, Suit.HEART));

            dealer.AddCard(new Card(Rank.TEN, Suit.HEART));
            dealer.AddCard(new Card(Rank.TEN, Suit.SPADE));

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            game.CheckScores();
            Assert.IsTrue(game.Status == GameState.WIN);
        }
        public void GameConplete1Player_Complete_MapsCorrectly()
        {
            var game = new BlackJackGame(defautlCardProvider, DealerNamedData, 1);

            game.AddPlayer(PlayerTed);
            game.SetPlayerStatusReady(PlayerTedId);
            game.DealHands();

            var TedHandKey = game.CurrentPlayer.Hands.Single().Identifier;

            game.PlayerHits(PlayerTedId, TedHandKey);
            game.PlayerHits(PlayerTedId, TedHandKey);
            game.PlayerHits(PlayerTedId, TedHandKey);
            game.PlayerHits(PlayerTedId, TedHandKey);
            game.PlayerHits(PlayerTedId, TedHandKey);
            game.PlayerHits(PlayerTedId, TedHandKey);
            game.PlayerHits(PlayerTedId, TedHandKey);
            game.PlayerHits(PlayerTedId, TedHandKey);

            Assert.Throws <InvalidOperationException>(() => game.PlayerHits(PlayerTedId, TedHandKey));

            var gameDto = MapperBlackJackGameDto.Map(game, PlayerTedId);

            var Ted    = game.Players.Single(p => p.Identifier == PlayerTedId);
            var TedDto = gameDto.Players.Single(p => p.PlayerIdentifier == PlayerTedId);

            var dealer    = game.Players.Single(p => p.Identifier == DealerDataId);
            var dealerDto = gameDto.Players.Single(p => p.PlayerIdentifier == DealerDataId);

            Assert.AreEqual(game.Players.Count(), gameDto.Players.Count);
            Assert.AreEqual(Ted.Hands.Count(), TedDto.Hands.Count);
            Assert.AreEqual(Ted.Hands.Single().Identifier, TedDto.Hands.Single().Identifier);
            Assert.AreEqual(Ted.Hands.Single().PointValue, TedDto.Hands.Single().PointValue);
            Assert.AreEqual(10, TedDto.Hands.Single().CardCount);
            Assert.AreEqual(21, TedDto.Hands.Single().PointValue);

            Assert.AreEqual(dealer.Hands.Count(), dealerDto.Hands.Count);
            Assert.AreEqual(dealer.Hands.Single().Identifier, dealerDto.Hands.Single().Identifier);
            Assert.AreEqual(dealer.Hands.Single().PointValue, dealerDto.Hands.Single().PointValue);
            Assert.AreEqual(2, dealerDto.Hands.Single().CardCount);
        }
Ejemplo n.º 35
0
        public BlackJackGame FindOpenGame(GameStatus status, int maxPlayers)
        {
            //TODO: This could use some work. aka not efficient
            var gameRecord = games
                             .Where(x => x.Value.Status == status && x.Value.Players.Count() <= maxPlayers)
                             .Select(x => x.Value)
                             .FirstOrDefault();

            if (gameRecord != null)
            {
                return(gameRecord);
            }
            var gameId = _gameIdProvider.GenerateGameId();
            var dealer = _dealerProvider.Dealer;

            var game = new BlackJackGame(gameId, _cardProvider, dealer, maxPlayers);

            games.Add(game.Id, game);

            return(game);
        }
Ejemplo n.º 36
0
        public void TestWin()
        {
            Player player = new Player();
            Dealer dealer = new Dealer();
            Deck deck = new Deck();
            player.AddCard(new Card(Rank.TEN, Suit.DIAMOND));
            player.AddCard(new Card(Rank.TEN, Suit.SPADE));

            dealer.AddCard(new Card(Rank.TEN, Suit.CLUB));
            dealer.AddCard(new Card(Rank.NINE, Suit.SPADE));

            BlackJackGame game = new BlackJackGame(deck, player, dealer);
            game.Decision = true;
            game.CheckScores();

            Assert.IsTrue(game.Status == GameState.WIN);
        }
Ejemplo n.º 37
0
        public void TestDoubleDown()
        {
            Player player = new Player();
            Deck deck = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            player.AddCard(new Card(Rank.SIX, Suit.DIAMOND));
            player.AddCard(new Card(Rank.FIVE, Suit.SPADE));
            game.Status = GameState.PLAYING;
            game.DoubleDown();

            Console.WriteLine(player.Bet);
            Console.WriteLine(player.Cards.Count);
            Console.WriteLine(game.Decision);

            Assert.IsTrue(player.Bet == 20);
            Assert.IsTrue(player.Cards.Count == 3);
            Assert.IsTrue(game.Decision);
        }
Ejemplo n.º 38
0
        public void GetNumPlayersTest()
        {
            var game = new BlackJackGame();

            //Default number of players
            bool valid = false;
            int defVal = 1;
            var numPlayers = game.GetNumPlayers(string.Empty, defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(1, numPlayers);

            //Default number of players
            valid = false;
            numPlayers = game.GetNumPlayers("        ", defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(defVal, numPlayers);

            //Valid
            Random randGen = new Random();
            valid = false;
            numPlayers = game.GetNumPlayers("   " + 1 + "     ", randGen.Next(2), out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(1, numPlayers);

            //Valid
            var r1 = randGen.Next(2, int.MaxValue);
            valid = false;
            numPlayers = game.GetNumPlayers("   " + r1 + "     ", defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(r1, numPlayers);

            //Valid
            valid = false;
            numPlayers = game.GetNumPlayers(r1.ToString(), defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(r1, numPlayers);

            //Valid
            valid = false;
            numPlayers = game.GetNumPlayers("\t" + int.MaxValue + "      \t ", defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(int.MaxValue, numPlayers);

            //Error
            valid = false;
            numPlayers = game.GetNumPlayers("  " + r1 + "  d    ", defVal, out valid);
            Assert.IsFalse(valid);

            //Error
            valid = false;
            numPlayers = game.GetNumPlayers("    7.1    ", defVal, out valid);
            Assert.IsFalse(valid);

            //Error
            valid = false;
            numPlayers = game.GetNumPlayers("    0    ", defVal, out valid);
            Assert.IsFalse(valid);

            //Error
            valid = false;
            numPlayers = game.GetNumPlayers("    " + int.MinValue + "    ", defVal, out valid);
            Assert.IsFalse(valid);

            //Error
            valid = false;
            numPlayers = game.GetNumPlayers("  " + randGen.Next(int.MinValue + 1, 1) + "   ", defVal, out valid);
            Assert.IsFalse(valid);
        }
Ejemplo n.º 39
0
 private void btnBlackJack_Click(object sender, EventArgs e)
 {
     BlackJackGame blackJack = new BlackJackGame();
        blackJack.Show();
 }
Ejemplo n.º 40
0
        public void TestWin21()
        {
            Player player = new Player();
            Deck deck = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            dealer.AddCard(new Card(Rank.TEN, Suit.HEART));
            dealer.AddCard(new Card(Rank.EIGHT, Suit.SPADE));

            player.AddCard(new Card(Rank.ACE, Suit.DIAMOND));
            player.AddCard(new Card(Rank.JACK, Suit.SPADE));

            game.CheckScores();
            game.RestartGame();
            Assert.AreEqual(105, game.Player.Money);
        }
Ejemplo n.º 41
0
        public void TestStartingMoneyAndInitialBet()
        {
            Player player = new Player();
            Deck deck = new Deck();
            Dealer dealer = new Dealer();

            BlackJackGame game = new BlackJackGame(deck, player, dealer);

            Assert.IsTrue(game.Player.Money == 90);
            Assert.IsTrue(game.Player.Bet == 10);
        }
Ejemplo n.º 42
0
        public void CreateTableTest()
        {
            var game = new BlackJackGame();

            int[] choices = (int[])Enum.GetValues(typeof(TableBet));
            var str = BlackJackGame.CreateChoicesString(choices);

            //Default
            bool valid = false;
            int defVal = choices[0];
            var table = game.CreateTable(string.Empty, choices, str, out valid);
            Assert.IsTrue(valid);
            Assert.IsNotNull(table);
            Assert.AreEqual(defVal, table.MinimumBet);

            /*
            //Default number of players
            valid = false;
            numPlayers = game.CreateTable("        ",defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(defVal, numPlayers);

            //Valid
            Random randGen = new Random();
            valid = false;
            numPlayers = game.CreateTable("   " + 1 + "     ",randGen.Next(2), out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(1, numPlayers);

            //Valid
            var r1 = randGen.Next(2,int.MaxValue);
            valid = false;
            numPlayers = game.CreateTable("   " + r1 + "     ",defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(r1, numPlayers);

            //Valid
            valid = false;
            numPlayers = game.CreateTable(r1.ToString(),defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(r1, numPlayers);

            //Valid
            valid = false;
            numPlayers = game.CreateTable("\t" + int.MaxValue + "      \t ",defVal, out valid);
            Assert.IsTrue(valid);
            Assert.AreEqual(int.MaxValue, numPlayers);

            //Error
            valid = false;
            numPlayers = game.CreateTable("  " + r1 + "  d    ",defVal, out valid);
            Assert.IsFalse(valid);

            //Error
            valid = false;
            numPlayers = game.CreateTable("    7.1    ",defVal, out valid);
            Assert.IsFalse(valid);

            //Error
            valid = false;
            numPlayers = game.CreateTable("    0    ",defVal, out valid);
            Assert.IsFalse(valid);

            //Error
            valid = false;
            numPlayers = game.CreateTable("    " + int.MinValue + "    ",defVal, out valid);
            Assert.IsFalse(valid);

            //Error
            valid = false;
            numPlayers = game.CreateTable("  " + randGen.Next(int.MinValue + 1, 1) + "   ",defVal, out valid);
            Assert.IsFalse(valid); */
        }