Show / Hide Table of Contents

Interface IPuzzleSolver<TPuzzle>

Solves puzzles of the given type.

Namespace: SudokuSpice
Assembly: SudokuSpice.dll
Syntax
public interface IPuzzleSolver<TPuzzle>
    where TPuzzle : class, IPuzzle<TPuzzle>
Type Parameters
Name Description
TPuzzle

The type of puzzle to solve.

Methods

| Improve this Doc View Source

ComputeStatsForAllSolutions(TPuzzle, Nullable<CancellationToken>)

Finds stats for all the solutions to the given puzzle. The puzzle is left unchanged.

Declaration
SolveStats ComputeStatsForAllSolutions(TPuzzle puzzle, CancellationToken? token = default(CancellationToken? ))
Parameters
Type Name Description
TPuzzle puzzle
System.Nullable<System.Threading.CancellationToken> token
Returns
Type Description
SolveStats
Exceptions
Type Condition
System.OperationCanceledException

May be thrown if the given cancellation token is canceled during the operation.

| Improve this Doc View Source

HasUniqueSolution(TPuzzle, Nullable<CancellationToken>)

Determines if the given puzzle has a unique solution. The puzzle is left unchanged.

Declaration
bool HasUniqueSolution(TPuzzle puzzle, CancellationToken? token = default(CancellationToken? ))
Parameters
Type Name Description
TPuzzle puzzle
System.Nullable<System.Threading.CancellationToken> token
Returns
Type Description
System.Boolean
Exceptions
Type Condition
System.OperationCanceledException

May be thrown if the given cancellation token is canceled during the operation.

| Improve this Doc View Source

Solve(TPuzzle, Boolean)

Solves the given puzzle in place.

Declaration
TPuzzle Solve(TPuzzle puzzle, bool randomizeGuesses = false)
Parameters
Type Name Description
TPuzzle puzzle

The puzzle to solve. This will be copied instead of solved in-place.

System.Boolean randomizeGuesses

If true, this will guess in a random order when forced to guess. Else, the guessing order is up to the implementation, but it should be stable.

Returns
Type Description
TPuzzle

A solved copy of the given puzzle.

Exceptions
Type Condition
System.ArgumentException

Thrown if this puzzle can't be solved by this solver.

| Improve this Doc View Source

TrySolve(TPuzzle, Boolean)

Attempts to solve the given puzzle.

Declaration
bool TrySolve(TPuzzle puzzle, bool randomizeGuesses = false)
Parameters
Type Name Description
TPuzzle puzzle

The puzzle to solve. This will be solved in place.

System.Boolean randomizeGuesses

If true, this will guess in a random order when forced to guess. Else, the guessing order is up to the implementation, but it should be stable.

Returns
Type Description
System.Boolean
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX