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)); }
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); }
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; }
/* 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); }
/* 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; }