Пример #1
0
 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);
             }
         }
     }
 }