Ejemplo n.º 1
0
        public void Extract()
        {
            var extractor  = new TetrisExtractor(_config);
            var screenshot = new EmguScreenshot("Screenshots/tetris_play_1.png", DateTime.Now.Subtract(DateTime.MinValue));

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var gameState = extractor.Extract(screenshot, null);

            stopwatch.Stop();
            Debug.Write($"Extraction in {stopwatch.ElapsedMilliseconds} ms");

            Assert.NotNull(gameState);
            Assert.NotNull(gameState.Board);
            Assert.NotNull(gameState.Piece);
            Assert.NotNull(gameState.NextPiece);

            _logger.Info(gameState.Piece);
            _logger.Info(gameState.NextPiece);

            _logger.Info(gameState);
            _logger.Info(gameState.Board);
        }
Ejemplo n.º 2
0
        public void GetPieceMask(int x, int y, int expected)
        {
            var extractor  = new TetrisExtractor(_config);
            var screenshot = new EmguScreenshot("Screenshots/tetris_play_2.png", DateTime.Now.Subtract(DateTime.MinValue));

            var mask = extractor.GetPieceMask(screenshot, x, y);

            Assert.AreEqual(expected, mask);
        }
Ejemplo n.º 3
0
        public void ExtractPieceSpawnedFalledPieceIsInOrigin()
        {
            var extractor  = new TetrisExtractor(_config);
            var screenshot = new EmguScreenshot("Screenshots/tetris_play_1.png", DateTime.Now.Subtract(DateTime.MinValue));

            var piece = extractor.ExtractSpawnedPiece(screenshot, 10);

            Assert.NotNull(piece);
            Assert.AreEqual(Tetrimino.S, piece.Tetrimino);
            Assert.AreEqual(0, piece.Orientation);
            Assert.AreEqual(0, piece.X);
            Assert.AreEqual(0, piece.Y);
        }
Ejemplo n.º 4
0
        public void GetProbability(Tetrimino tetrimino, int x, int y, double expectedProbability)
        {
            var extractor  = new TetrisExtractor(_config);
            var screenshot = new EmguScreenshot("Screenshots/tetris_play_2.png", DateTime.Now.Subtract(DateTime.MinValue));

            var piece = new Piece(tetrimino, 0, x, y);

            var probability = extractor.GetProbability(screenshot, piece);

            Assert.LessOrEqual(probability, 1.0);
            Assert.GreaterOrEqual(probability, 0.0);
            Assert.AreEqual(expectedProbability, probability);
        }
Ejemplo n.º 5
0
        public void ConfirmPieceMovement()
        {
            var extractor  = new TetrisExtractor(_config);
            var screenshot = new EmguScreenshot("Screenshots/tetris_play_2.png", DateTime.Now.Subtract(DateTime.MinValue));

            var lastPosition = new Piece(Tetrimino.Z, 0, 1, -6);

            var newPosition = extractor.ExtractMovedPieceWithoutErrorTolerance(screenshot, lastPosition, Move.Left, 0);

            Assert.NotNull(newPosition);

            Assert.AreEqual(Tetrimino.Z, newPosition.Tetrimino);
            Assert.AreEqual(0, newPosition.Orientation);
            Assert.AreEqual(0, newPosition.X);
            Assert.AreEqual(-6, newPosition.Y);
        }
Ejemplo n.º 6
0
 public void Constructor()
 {
     var extractor = new TetrisExtractor(_config);
 }
Ejemplo n.º 7
0
 public BlockBasedExtractor(IConfig config)
 {
     _tetrisExtractor = new TetrisExtractor(config);
 }
        public void Init()
        {
            var config = TestHelper.GetFakeConfig().Object;

            _extractor = new TetrisExtractor(config);
        }