Esempio n. 1
0
 private void RemoveInvalidValuesFromCell(ref List <int> possibleValuesInCell, int row, int column)
 {
     // Remove possible values for each section
     RemoveInvalidValuesFromCellForSection(ref possibleValuesInCell, _board.GetRowCells(row));
     RemoveInvalidValuesFromCellForSection(ref possibleValuesInCell, _board.GetColumnCells(column));
     RemoveInvalidValuesFromCellForSection(ref possibleValuesInCell, _board.GetBlockCells(row, column));
 }
Esempio n. 2
0
        public static bool ValidateCell(AbstractBoard board, int row, int column, bool oneSectionIsCompleted = false)
        {
            // Validate row, column and block
            bool rowValidation    = ValidateSection(board, board.GetRowCells(row), oneSectionIsCompleted);
            bool columnValidation = ValidateSection(board, board.GetColumnCells(column), oneSectionIsCompleted);
            bool blockValidation  = ValidateSection(board, board.GetBlockCells(row, column), oneSectionIsCompleted);

            // Combine result
            bool andResult = (rowValidation && columnValidation && blockValidation);
            bool orResult  = (rowValidation || columnValidation || blockValidation);

            return((!oneSectionIsCompleted) ? andResult : orResult);
        }
Esempio n. 3
0
        public static bool ValidateCell(AbstractBoard board, int row, int column, bool oneSectionIsCompleted = false)
        {
            // Validate row, column and block
            bool rowValidation = ValidateSection(board, board.GetRowCells(row), oneSectionIsCompleted);
            bool columnValidation = ValidateSection(board, board.GetColumnCells(column), oneSectionIsCompleted);
            bool blockValidation = ValidateSection(board, board.GetBlockCells(row, column), oneSectionIsCompleted);

            // Combine result
            bool andResult = (rowValidation && columnValidation && blockValidation);
            bool orResult = (rowValidation || columnValidation || blockValidation);

            return (!oneSectionIsCompleted) ? andResult : orResult;
        }
Esempio n. 4
0
        /* Validate methods */

        public static bool ValidateBoard(AbstractBoard board, bool completeCheck = false)
        {
            bool validation = true;

            for (int i = 0; i != board.GetBoardSize(); i++)
            {
                // Validate row, column and block
                validation &= ValidateSection(board, board.GetRowCells(i), completeCheck);
                validation &= ValidateSection(board, board.GetColumnCells(i), completeCheck);
                validation &= ValidateSection(board, board.GetBlockCells(i), completeCheck);
            }

            return(validation);
        }
Esempio n. 5
0
        /* Validate methods */
        public static bool ValidateBoard(AbstractBoard board, bool completeCheck = false)
        {
            bool validation = true;

            for (int i = 0; i != board.GetBoardSize(); i++)
            {
                // Validate row, column and block
                validation &= ValidateSection(board, board.GetRowCells(i), completeCheck);
                validation &= ValidateSection(board, board.GetColumnCells(i), completeCheck);
                validation &= ValidateSection(board, board.GetBlockCells(i), completeCheck);
            }

            return validation;
        }