Summary
Describes a constraint in a number placement puzzle where no adjacent cells (including diagonals) can have the
same value.
Constructors
AntiKingConstraint(int gridWidth, int gridHeight, int[] affectedValues = null, IEnumerable<int> enforcedCells = null) |
Constructor. |
Static methods
IEnumerable<int> | KingsMoves(int cell, int gridWidth, int gridHeight) | Returns all cells reachable from the specified cell by a king’s move in chess. |
int | |
Converts a convenient coordinate notation into a puzzle-grid index. |
IEnumerable<int> | |
Converts a convenient coordinate notation into puzzle-grid indices. |
Instance methods
Instance properties
int[] | | The group of cells affected by this constraint, or null if it affects all of them. |
int[] | | Optionally specifies a limited set of values that are affected by the constraint. |
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. |
int[] | |
Optionally specifies a limited set of cells on which the constraint is enforced. |
int | | The height of the grid. |
int | | The width of the 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. |