Beispiel #1
0
        public bool IsHorizontalSequenceCompletedOfSameShapeByRow(int rowIndex, Cell.TypeShape typeShape)
        {
            for (int columnIndex = 0; columnIndex < ColumnsLength; columnIndex++)
            {
                var cell = GetCellByPosition(rowIndex, columnIndex);

                if (!cell.IsValidMarked(typeShape))
                    return false;
            }

            return true;
        }
Beispiel #2
0
        public bool IsDiagonalSequenceCompletedOfSameShapeByDirection(DiagonalDirection diagonalDirection, Cell.TypeShape typeShape)
        {
            var columnIndex = (diagonalDirection == DiagonalDirection.LeftTopToRightBottom)
                                ? 0
                                : (ColumnsLength - 1);

            for (int rowIndex = 0; rowIndex < RowsLength; rowIndex++)
            {
                var cell = GetCellByPosition(rowIndex, columnIndex);

                if (!cell.IsValidMarked(typeShape))
                    return false;

                columnIndex = GetNextColumnDiagonalIndex(diagonalDirection, columnIndex);
            }

            return true;
        }
Beispiel #3
0
 public void MarkCellByPosition(int rowIndex, int columnIndex, Cell.TypeShape typeShape)
 {
     GetCellByPosition(rowIndex, columnIndex).Mark(typeShape);
 }
Beispiel #4
0
        private void InitializeEachCell()
        {
            Cells = new Cell[RowsLength, ColumnsLength];

            for (int rowIndex = 0; rowIndex < RowsLength; rowIndex++)
            {
                for (int columnIndex = 0; columnIndex < ColumnsLength; columnIndex++)
                {
                    Cells[rowIndex, columnIndex] = new Cell();
                }
            }
        }
Beispiel #5
0
 public bool IsValidMarked(Cell.TypeShape typeShape)
 {
     return IsMarked() && (MarkedBy == typeShape);
 }