コード例 #1
0
        public override bool SolveCell(int row, int column, Puzzle puzzle)
        {
            var onlyOne = FindOnlyOne(row, column, puzzle, puzzle.BlockLocation(row, column)) || FindOnlyOne(row, column, puzzle, puzzle.ColumnLocation(column)) ||
                          FindOnlyOne(row, column, puzzle, puzzle.RowLocation(row));

            return(onlyOne);
        }
コード例 #2
0
 private bool IsValidMove(int row, int column, Puzzle puzzle, char value)
 {
     return(!(puzzle.RowLocation(row).Any(cell => cell.Value == value) || puzzle.ColumnLocation(column).Any(cell => cell.Value == value) ||
              puzzle.BlockLocation(row, column).Any(cell => cell.Value == value)));
 }