Ejemplo n.º 1
0
        public void DropCurrentTetrimino_AboveBottom_MoveBlockDown()
        {
            Tetrimino currentTetrimino = CreateTetrimino();
            Point     startPoint       = new Point(3, 1);

            _tetrisBoardOperator.NewCurrentTetrimino(currentTetrimino, startPoint);

            _tetrisBoardOperator.DropCurrentTetrimino();
            _tetrisBoardOperator.DropCurrentTetrimino();

            Point endPoint = new Point(3, 3);

            Assert.Null(_tetrisBoard.BlockAt(startPoint));
            Assert.Equal(_blocks[1], _tetrisBoard.BlockAt(endPoint));
        }
Ejemplo n.º 2
0
        private void FillRowGapAt(int atY)
        {
            for (int y = TetrisBoard.Height - 1; y >= 0; y--)
            {
                if (y > atY)
                {
                    continue;
                }

                for (int x = 0; x < TetrisBoard.Width; x++)
                {
                    Block block = TetrisBoard.BlockAt(new Point(x, y));
                    if (block == null)
                    {
                        continue;
                    }

                    TetrisBoard.MoveBlock(block, new Point(0, 1));
                }
            }
        }