Exemple #1
0
        public void FirstDiceBlocked()
        {
            var game = Game.Create();

            game.ClearCheckers();
            game.AddCheckers(1, Player.Color.White, 0);
            game.AddCheckers(1, Player.Color.White, 1);
            game.AddCheckers(2, Player.Color.White, 3);
            game.AddCheckers(2, Player.Color.White, 16);
            game.AddCheckers(2, Player.Color.White, 18);
            game.AddCheckers(2, Player.Color.White, 19);
            game.AddCheckers(2, Player.Color.White, 20);
            game.AddCheckers(2, Player.Color.White, 21);

            game.AddCheckers(1, Player.Color.Black, 3);
            game.AddCheckers(1, Player.Color.Black, 15);
            game.AddCheckers(2, Player.Color.Black, 16);
            game.AddCheckers(3, Player.Color.Black, 17);
            game.AddCheckers(3, Player.Color.Black, 19);
            game.AddCheckers(3, Player.Color.Black, 20);
            game.AddCheckers(2, Player.Color.Black, 21);

            game.CurrentPlayer = Player.Color.White;

            game.FakeRoll(5, 1);
            var ai    = new Ai.Engine(game);
            var moves = ai.GetBestMoves();

            Assert.IsTrue(moves.Any(m => m != null));
        }
Exemple #2
0
        public void GetBestMoveWhite1()
        {
            var game = Game.Create();
            var ai   = new Ai.Engine(game);

            game.ClearCheckers();

            game.AddCheckers(1, Player.Color.Black, 1);
            game.AddCheckers(1, Player.Color.White, 1);

            game.AddCheckers(1, Player.Color.Black, 2);
            game.AddCheckers(1, Player.Color.White, 2);

            game.AddCheckers(3, Player.Color.Black, 17);
            game.AddCheckers(3, Player.Color.White, 17);

            game.AddCheckers(1, Player.Color.Black, 19);

            game.FakeRoll(4, 5);
            game.SwitchPlayer();
            var moves = ai.GetBestMoves();

            Assert.IsTrue(moves.Any(m => m.ToString() == "White 1 -> 6"));
            Assert.IsTrue(moves.Any(m => m.ToString() == "White 2 -> 6"));
        }
Exemple #3
0
        public void DontHitBloat2()
        {
            var game = Game.Create();

            game.ClearCheckers();
            game.AddCheckers(1, Player.Color.Black, 3);
            game.AddCheckers(1, Player.Color.Black, 4);
            game.AddCheckers(2, Player.Color.White, 18);

            game.AddCheckers(5, Player.Color.Black, 21);
            game.AddCheckers(5, Player.Color.Black, 23);
            game.AddCheckers(3, Player.Color.Black, 18);

            game.AddCheckers(3, Player.Color.White, 1);
            game.AddCheckers(3, Player.Color.White, 5);

            game.FakeRoll(4, 3);
            game.SwitchPlayer();

            Assert.AreEqual(Player.Color.White, game.CurrentPlayer);
            var ai    = new Ai.Engine(game);
            var moves = ai.GetBestMoves();

            Assert.IsTrue(!moves.Any(m => m.To.WhiteNumber == 22));
            Assert.IsTrue(!moves.Any(m => m.To.WhiteNumber == 21));
        }
Exemple #4
0
        public void BearOffEffectivelyWhite()
        {
            var game = Game.Create();

            game.ClearCheckers();
            game.AddCheckers(1, Player.Color.Black, 19);
            game.AddCheckers(1, Player.Color.White, 19);
            game.AddCheckers(3, Player.Color.Black, 20);
            game.AddCheckers(3, Player.Color.White, 20);
            game.AddCheckers(3, Player.Color.Black, 21);
            game.AddCheckers(3, Player.Color.White, 21);
            game.AddCheckers(3, Player.Color.Black, 22);
            game.AddCheckers(3, Player.Color.White, 22);
            game.AddCheckers(3, Player.Color.Black, 23);
            game.AddCheckers(3, Player.Color.White, 23);
            game.AddCheckers(2, Player.Color.Black, 24);
            game.AddCheckers(2, Player.Color.White, 24);

            game.FakeRoll(3, 2);
            game.SwitchPlayer();

            Assert.AreEqual(Player.Color.White, game.CurrentPlayer);
            var ai    = new Ai.Engine(game);
            var moves = ai.GetBestMoves();

            Assert.IsTrue(moves.Any(m => m.ToString() == "White 23 -> 25"));
            Assert.IsTrue(moves.Any(m => m.ToString() == "White 22 -> 25"));
        }
Exemple #5
0
        public void DoubleDice()
        {
            var game = Game.Create();
            var ai   = new Ai.Engine(game);

            game.FakeRoll(2, 2);
            var moves = ai.GetBestMoves();
        }
Exemple #6
0
        public void GetBestMoveBlack1()
        {
            var game = Game.Create();
            var ai   = new Ai.Engine(game);

            game.ClearCheckers();

            game.AddCheckers(1, Player.Color.Black, 1);
            //game.AddCheckers(1, Player.Color.White, 1);

            game.AddCheckers(1, Player.Color.Black, 2);
            //game.AddCheckers(1, Player.Color.White, 2);

            game.AddCheckers(3, Player.Color.Black, 17);
            game.AddCheckers(3, Player.Color.White, 17);

            game.AddCheckers(1, Player.Color.White, 19); // 6 for black, the target

            game.FakeRoll(5, 4);
            var moves = ai.GetBestMoves();

            Assert.IsTrue(moves.SingleOrDefault(m => m.ToString() == "Black 1 -> 6") != null);
            Assert.IsTrue(moves.SingleOrDefault(m => m.ToString() == "Black 2 -> 6") != null);
        }