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.
CellOrderStrategyDetermines the order in which cells are considered during trial and error.
int[] Specifies a priority list of cells to consider during trial and error. Depending on the value of SolverInstructions.CellOrderStrategy, this may not be strictly adhered to.
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 the 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 (SolverInstructions.BulkLoggingFile).
IProgressVisualizer Displays progress during the puzzle solve process. ProgressVisualizer is provided as a default implementation.
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? Specifies a cell value to prioritize when filling the grid. This has no effect if SolverInstructions.Randomizer is specified.