Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Class: PuzzleSolvers.SolverInstructions

Summary

Use this to instruct the puzzle solver (Puzzle.Solve(SolverInstructions)) to perform certain types of analysis for the debugging of constraint implementations.

Constructors

Creates a new instance of SolverInstructions.

Instance fields

string If not null, the solver outputs extremely verbose information to this file describing the solving process.
int[] Specifies a tentative priority list of cells to consider first during solve. This is not strictly adhered to and only provides a small guidance for some puzzles.
Func<Constraint, bool> When this and SolverInstructions.IntendedSolution are not null, limits the set of constraints to examine. This may be necessary for speed reasons.
int[] When this is not null, the solver determines at which point during the solve process one of these constraints eliminates the intended solution. This is for debugging constraints that rule out solutions when they shouldn’t.
Random Uses a specific RNG to randomize the solver. When “solving” a puzzle with multiple solutions, this allows the solver to pick one at random.
int?Shows the first n cells of the solver’s recursive process on the console.
int?Leaves a number of rows at the top of the console window above the debug display.
bool Only show candidate values for each cell; useful when cells can have many possible values but the majority of them are not applicable most of the time.
bool Only applies when SolverInstructions.ExamineConstraint is not null. Specifies that the debug output should use letters A–Z to identify the cells in a puzzle with 26 or fewer cells. Otherwise, numbers from 0 are used.