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); }
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); }
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); }
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); }
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); }
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); }
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); }
public void Constructor() { var heuristic = new YiyuanLeeHeuristic(); }