public void CleanRows() { foreach (Block[] row in TetrisBoard.BlocksInRows()) { int at_y = TetrisBoard.BlockPoint(row[0]).Y; ClearRow(row); FillRowGapAt(at_y); } }
public void CleanRows_WithRows_FillGaps() { Block blockFarAboveGap = new Block(); _tetrisBoard.AddBlockAt(blockFarAboveGap, new Point(0, 0)); Block blockAboveGap = new Block(); _tetrisBoard.AddBlockAt(blockAboveGap, new Point(4, 1)); Block blockBelowGap = new Block(); FillBoardRowAt(2); FillBoardRowAt(3); _tetrisBoard.AddBlockAt(blockBelowGap, new Point(0, 4)); _tetrisBoardOperator.CleanRows(); Assert.Equal(new Point(0, 2), _tetrisBoard.BlockPoint(blockFarAboveGap)); Assert.Equal(new Point(4, 3), _tetrisBoard.BlockPoint(blockAboveGap)); Assert.Equal(new Point(0, 4), _tetrisBoard.BlockPoint(blockBelowGap)); }