Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Class: PuzzleSolvers.Exotic.TripletValidityConstraint

Summary

Describes a constraint in a number-placement puzzle consisting of a set of triplets of cells and a validity predicate. The constraint mandates that an exact number of triples must satisfy this predicate.

Constructors

TripletValidityConstraint(int[][] triplets, int numValid, Func<int, int, int, bool> isValid)
Construtor.

Instance methods

ConstraintResultRefer to the documentation for Constraint.Process.

Static methods

int
TranslateCoordinate(string str, int gridWidth = 9)
Converts a convenient coordinate notation into a puzzle-grid index.
IEnumerable<int>
TranslateCoordinates(string str, int gridWidth = 9)
Converts a convenient coordinate notation into puzzle-grid indices.

Instance properties

int[]The group of cells affected by this constraint, or null if it affects all of them.
bool By default, a constraint is only evaluated once for every digit placed in the grid, but not when another constraint merely rules out a possibility. Derived types can override this and return true to indicate to the solver that the constraint should be reevaluated (meaning: have Constraint.Process(SolverState) called on it again) when another constraint rules out a value in one of the affected cells of this constraint.
Func<int, int, int, bool>Defines the validity predicate.
int? Indicates an approximate number of possible combinations of digits this constraint can still accommodate. This will help the solver prioritize cells when multiple cells have the same number of combinations individually.
intSpecifies how many of the TripletValidityConstraint.Triplets must satisfy the TripletValidityConstraint.IsValid predicate.
int[][]Specifies the triplets of cells affected by this constraint.