public void TexasHoldemTest7()
        {
            TexasHoldem <int> game = new TexasHoldem <int>();

            game.bigBlind = 2;

            var pointManager1 = new PlayerPointManager();

            pointManager1.TotalPointsInAccount = 100;
            var pointManager2 = new PlayerPointManager();

            pointManager2.TotalPointsInAccount = 1000;
            game.Join(new TexasHoldemPlayer <int>(pointManager1, 0));
            game.Join(new TexasHoldemPlayer <int>(pointManager2, 1));

            game.StartGame();
            if (game.currentPlayer.idObject == 0)
            {
                game.Raise(ulong.MaxValue);
                game.Raise(ulong.MaxValue);
                game.Call();
            }
            else
            {
                game.Raise(ulong.MaxValue);
                game.Call();
            }

            Assert.IsTrue(game.round == TexasHoldem <int> .Round.GameOver);
            Assert.IsTrue(game.lastGameWinners.Count == 1);
            Assert.IsTrue(game.lastGameSidepotWinners.Count >= 1);

            if (game.lastGameSidepotWinners.Count == 1)
            {
                if (game.lastGameSidepotWinners.First.Item1.idObject == 0)
                {
                    Assert.IsTrue(pointManager1.TotalPointsInAccount == 200);
                    Assert.IsTrue(pointManager2.TotalPointsInAccount == 900);
                }
                else
                {
                    Assert.IsTrue(pointManager1.TotalPointsInAccount == 0);
                    Assert.IsTrue(pointManager2.TotalPointsInAccount == 1100);
                }
            }
        }
        public void TexasHoldemTest8()
        {
            TexasHoldem <int> game = new TexasHoldem <int>();

            game.bigBlind = 2;

            var pointManager1 = new PlayerPointManager();

            pointManager1.TotalPointsInAccount = 100;
            var pointManager2 = new PlayerPointManager();

            pointManager2.TotalPointsInAccount = 100;
            game.Join(new TexasHoldemPlayer <int>(pointManager1, 0));
            game.Join(new TexasHoldemPlayer <int>(pointManager2, 1));

            game.StartGame();
            for (int i = 0; i < 2 * 4; i++)
            {
                Assert.IsTrue(game.round != TexasHoldem <int> .Round.GameOver);
                if (game.canCall)
                {
                    game.Call();
                }
                else
                {
                    game.Check();
                }
            }

            Assert.IsTrue(game.round == TexasHoldem <int> .Round.GameOver);

            if (game.lastGameWinners.First.Item1.idObject == 0)
            {
                Assert.IsTrue(pointManager1.TotalPointsInAccount == 102);
                Assert.IsTrue(pointManager2.TotalPointsInAccount == 98);
            }
            else
            {
                Assert.IsTrue(pointManager1.TotalPointsInAccount == 98);
                Assert.IsTrue(pointManager2.TotalPointsInAccount == 102);
            }
        }
        private static TexasHoldem <int> CreateGame(bool setPlayer1To10 = false)
        {
            TexasHoldem <int> game = new TexasHoldem <int>();

            game.bigBlind = 2;
            for (int i = 0; i < 5; i++)
            {
                var pointManager = new PlayerPointManager();
                if (setPlayer1To10 && i == 0)
                {
                    pointManager.TotalPointsInAccount = 10;
                }
                else
                {
                    pointManager.TotalPointsInAccount = 100;
                }
                game.Join(new TexasHoldemPlayer <int>(pointManager, i));
            }

            return(game);
        }
예제 #4
0
        private static TexasHoldem<int> CreateGame(bool setPlayer1To10 = false)
        {
            TexasHoldem<int> game = new TexasHoldem<int>();
            game.bigBlind = 2;
            for(int i = 0; i < 5; i++) {
                var pointManager = new PlayerPointManager();
                if(setPlayer1To10 && i == 0) {
                    pointManager.TotalPointsInAccount = 10;
                } else {
                    pointManager.TotalPointsInAccount = 100;
                }
                game.Join(i, pointManager);
            }

            return game;
        }
예제 #5
0
        public void TexasHoldemTest8()
        {
            TexasHoldem<int> game = new TexasHoldem<int>();
            game.bigBlind = 2;

            var pointManager1 = new PlayerPointManager();
            pointManager1.TotalPointsInAccount = 100;
            var pointManager2 = new PlayerPointManager();
            pointManager2.TotalPointsInAccount = 100;
            game.Join(0, pointManager1);
            game.Join(1, pointManager2);

            game.StartGame();
            for(int i = 0; i < 2 * 4; i++) {
                Assert.IsTrue(game.round != TexasHoldem<int>.Round.GameOver);
                if(game.canCall) {
                    game.Call();
                } else {
                    game.Check();
                }
            }

            Assert.IsTrue(game.round == TexasHoldem<int>.Round.GameOver);

            if(game.lastGameWinners.First.Item1.idObject == 0) {
                Assert.IsTrue(pointManager1.TotalPointsInAccount == 102);
                Assert.IsTrue(pointManager2.TotalPointsInAccount == 98);
            } else {
                Assert.IsTrue(pointManager1.TotalPointsInAccount == 98);
                Assert.IsTrue(pointManager2.TotalPointsInAccount == 102);
            }
        }
예제 #6
0
        public void TexasHoldemTest7()
        {
            TexasHoldem<int> game = new TexasHoldem<int>();
            game.bigBlind = 2;

            var pointManager1 = new PlayerPointManager();
            pointManager1.TotalPointsInAccount = 100;
            var pointManager2 = new PlayerPointManager();
            pointManager2.TotalPointsInAccount = 1000;
            game.Join(0, pointManager1);
            game.Join(1, pointManager2);

            game.StartGame();
            if(game.currentPlayer.idObject == 0) {
                game.Raise(ulong.MaxValue);
                game.Raise(ulong.MaxValue);
                game.Call();
            } else {
                game.Raise(ulong.MaxValue);
                game.Call();
            }

            Assert.IsTrue(game.round == TexasHoldem<int>.Round.GameOver);
            Assert.IsTrue(game.lastGameWinners.Count == 1);
            Assert.IsTrue(game.lastGameSidepotWinners.Count >= 1);

            if(game.lastGameSidepotWinners.Count == 1) {
                if(game.lastGameSidepotWinners.First.Item1.idObject == 0) {
                    Assert.IsTrue(pointManager1.TotalPointsInAccount == 200);
                    Assert.IsTrue(pointManager2.TotalPointsInAccount == 900);
                } else {
                    Assert.IsTrue(pointManager1.TotalPointsInAccount == 0);
                    Assert.IsTrue(pointManager2.TotalPointsInAccount == 1100);
                }
            }
        }
예제 #7
0
 /// <summary>
 /// Called by the engine in the begining of each round.
 /// </summary>
 /// <returns>
 /// A new instance of the <see cref="TexasHoldem"/> game
 /// </returns>
 protected override sealed BaseGame GetNewGame()
 {
     game = GetNewGameOverride();
     return(game);
 }
예제 #8
0
 private void NewTestGame(NetTunnel tunnel)
 {
     TexasHoldem game = new TexasHoldem("Admin Test Game", 500, 1500, this);
     LobbyPlayer lob = new LobbyPlayer("Admin", new NetTunnel(), 9999, this);
     game.JoinGame(lob, tunnel);
 }