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.
Func<int, string> Only applies when SolverInstructions.IntendedSolution is not null. Specifies how the debug output should identify the cells in a puzzle (locations where digits are entered). When not specified, the cells are numbered from 0.
Func<int, string> Only applies when SolverInstructions.IntendedSolution is not null. Specifies how the debug output should identify the values in a puzzle (the digits that are being entered into the cells). When not specified, the values are numbered from Puzzle.MinValue.
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.
object If not null, the solver will obtain a lock on this object while outputting information to the console (SolverInstructions.ShowContinuousProgress) or a file (SolverInstructions.BulkLoggingFile).
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 columns on the left of the console window beside the debug display.
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.
int? Specifies a cell value to prioritize when filling the grid. This has no effect if SolverInstructions.Randomizer is specified.