public void refreshTab(MovableGrid oldPiece, MovableGrid newPiece) { if (oldPiece != null) { for (int i = 0; i < oldPiece.Rows(); i++) { for (int j = 0; j < oldPiece.Columns(); j++) { if (oldPiece.Y + i >= 0 && oldPiece.CellAt(i, j) != '.') { blocks[oldPiece.Y + i, oldPiece.X + j] = '.'; } } } } if (newPiece != null) { for (int i = 0; i < newPiece.Rows(); i++) { for (int j = 0; j < newPiece.Columns(); j++) { if (newPiece.Y + i >= 0 && newPiece.CellAt(i, j) != '.') { blocks[newPiece.Y + i, newPiece.X + j] = newPiece.CellAt(i, j); } } } } if (!IsFallingBlock()) { for (int row = 0; row < rows; row++) { int contain = 0; for (int col = 0; col < columns; col++) { if (blocks[row, col] != '.') { contain++; } } if (contain == columns) { DeleteRow(row); } } } }