Пример #1
0
        public void CompleteLines(int expected, int[] squares)
        {
            var heuristic = new YiyuanLeeHeuristic();
            var board     = Build(4, 4, squares);

            var completeLines = heuristic.CompleteLines(board);

            Assert.AreEqual(expected, completeLines);
        }
Пример #2
0
        public void MaximumHeight(int expected, int[] squares)
        {
            var heuristic = new YiyuanLeeHeuristic();
            var board     = Build(4, 4, squares);

            var maximumHeight = heuristic.MaximumHeight(board);

            Assert.AreEqual(expected, maximumHeight);
        }
Пример #3
0
        public void AggregateHeight(int expected, int[] squares)
        {
            var heuristic = new YiyuanLeeHeuristic();
            var board     = Build(4, 4, squares);

            var aggregateHeight = heuristic.AggregateHeight(board);

            Assert.AreEqual(expected, aggregateHeight);
        }
Пример #4
0
        public void Bumpiness(int expected, int[] squares)
        {
            var heuristic = new YiyuanLeeHeuristic();
            var board     = Build(4, 4, squares);

            var bumpiness = heuristic.Bumpiness(board);

            Assert.AreEqual(expected, bumpiness);
        }
Пример #5
0
        public void Holes(int expected, int[] squares)
        {
            var heuristic = new YiyuanLeeHeuristic();
            var board     = Build(4, 4, squares);

            var holes = heuristic.Holes(board);

            Assert.AreEqual(expected, holes);
        }
Пример #6
0
        public void TestManyScorings()
        {
            var gameStates = Enumerable.Range(0, 22 * 22 * 7 * 22)
                             .Select(x => new Board().Random())
                             .Select(x => new GameState(x))
                             .ToList();

            var heuristic = new YiyuanLeeHeuristic();

            var sw = new Stopwatch();

            sw.Start();

            foreach (var gs in gameStates)
            {
                var score = heuristic.Score(gs);
            }

            sw.Stop();
            Debug.WriteLine(sw.ElapsedMilliseconds);
        }
Пример #7
0
        static TimeSpan MeasurePredictiveSearch(int number)
        {
            var gamestates = Enumerable.Range(0, number)
                             .Select(x => new Board().Random())
                             .Select(x => new GameState(x, Tetriminos.GetRandom(), Tetriminos.GetRandom()))
                             .ToList();

            var heuristic = new YiyuanLeeHeuristic();
            var search    = new PredictiveSearch(heuristic);

            var sw = new Stopwatch();

            sw.Start();

            foreach (var gamestate in gamestates)
            {
                var result = search.Search(gamestate);
            }

            sw.Stop();
            return(sw.Elapsed);
        }
Пример #8
0
 public void Constructor()
 {
     var heuristic = new YiyuanLeeHeuristic();
 }