Пример #1
0
        public int RemoveFilledLines()
        {
            Stack <byte> filledLines = m_lineChecker.GetNumbersFilledLines(m_gridModel.PlayFieldGrid);
            int          gridWidth   = m_gridModel.PlayFieldGrid.GetLength(0);
            int          gridHeight  = m_gridModel.PlayFieldGrid.GetLength(1);

            if (filledLines.Count <= 0)
            {
                return(0);
            }

            foreach (byte numberLine in filledLines)
            {
                for (byte j = 0; j < gridWidth; j++)
                {
                    m_gridModel.RemoveArea(j, numberLine);
                }
                RowDown(numberLine, gridWidth, gridHeight);
            }

            m_lineScorer.AddNewLines(filledLines.Count);
            return(filledLines.Count);
        }