Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Class: PuzzleSolvers.PathConstraint

Summary

Represents a constraint in a path puzzle such as Masyu, Numberlink or Yajilin that mandates that lines must join up into a path (the path cannot have a dangling end within the grid). The values 0–6 are used to represent pieces of a path (see Path for constants to help deal with these values). Paths can still exit the grid at the edge, or join up with a value greater than 6.

Constructors

PathConstraint(int width, int height, bool canHitNonPathCells)
Represents a constraint in a path puzzle such as Masyu, Numberlink or Yajilin that mandates that lines must join up into a path (the path cannot have a dangling end within the grid). The values 0–6 are used to represent pieces of a path (see Path for constants to help deal with these values). Paths can still exit the grid at the edge, or join up with a value greater than 6.

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 Determines whether a path is allowed to “hit” a non-path cell (as in Numberlink) or whether the path must navigate around all non-path cells (as in Yajilin).
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.
intSpecifies the height of the puzzle grid.
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 the width of the puzzle grid.