Ejemplo n.º 1
0
        public void ClearRows()
        {
            var board = new TetrisBoard(new Vec2i(3, 10));

            board.Cells = new TetrisCell[10][] {
                new TetrisCell[3] {
                    TetrisCell.Z, TetrisCell.Z, 0
                },
                new TetrisCell[3] {
                    TetrisCell.J, TetrisCell.Z, TetrisCell.Z
                },
                new TetrisCell[3] {
                    TetrisCell.J, TetrisCell.J, TetrisCell.J
                },
                new TetrisCell[3] {
                    TetrisCell.L, TetrisCell.L, TetrisCell.L
                },
                new TetrisCell[3] {
                    TetrisCell.L, 0, TetrisCell.Z
                },
                new TetrisCell[3] {
                    0, TetrisCell.Z, TetrisCell.Z
                },
                new TetrisCell[3] {
                    TetrisCell.J, TetrisCell.Z, 0
                },
                new TetrisCell[3] {
                    TetrisCell.J, TetrisCell.J, TetrisCell.J
                },
                new TetrisCell[3] {
                    TetrisCell.T, TetrisCell.T, TetrisCell.T
                },
                new TetrisCell[3] {
                    0, TetrisCell.T, 0
                },
            };

            var expectedBoard = new TetrisCell[10][] {
                new TetrisCell[3] {
                    0, 0, 0
                },
                new TetrisCell[3] {
                    0, 0, 0
                },
                new TetrisCell[3] {
                    0, 0, 0
                },
                new TetrisCell[3] {
                    0, 0, 0
                },
                new TetrisCell[3] {
                    0, 0, 0
                },
                new TetrisCell[3] {
                    TetrisCell.Z, TetrisCell.Z, 0
                },
                new TetrisCell[3] {
                    TetrisCell.L, 0, TetrisCell.Z
                },
                new TetrisCell[3] {
                    0, TetrisCell.Z, TetrisCell.Z
                },
                new TetrisCell[3] {
                    TetrisCell.J, TetrisCell.Z, 0
                },
                new TetrisCell[3] {
                    0, TetrisCell.T, 0
                },
            };

            var fullRows         = board.FindFullLines();
            var expectedFullRows = new int[] { 1, 2, 3, 7, 8 };

            Assert.Equal(expectedFullRows, fullRows);

            board.ClearFullLines();
            Assert.Equal(expectedBoard, board.Cells);
        }