示例#1
0
        public bool IsVerticalSequenceCompletedOfSameShapeByColumn(int columnIndex, Cell.TypeShape typeShape)
        {
            for (int rowIndex = 0; rowIndex < RowsLength; rowIndex++)
            {
                var cell = GetCellByPosition(rowIndex, columnIndex);

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

            return(true);
        }
示例#2
0
 public bool IsValidMarked(Cell.TypeShape typeShape)
 {
     return(IsMarked() && (MarkedBy == typeShape));
 }
示例#3
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);
        }
示例#4
0
 public void MarkCellByPosition(int rowIndex, int columnIndex, Cell.TypeShape typeShape)
 {
     GetCellByPosition(rowIndex, columnIndex).Mark(typeShape);
 }