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)); }
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)); } } }