Summary
Describes a constraint in a number-placement grid puzzle where no adjacent cells can have numerically consecutive
values.
Constructors
NoConsecutiveConstraint(int gridWidth, int gridHeight, bool includeDiagonals, int[] affectedValues = null, IEnumerable<int> enforcedCells = null, bool enforcedCellsOnly = false) |
Constructor. |
Static methods
| IEnumerable<int> | AdjacentCells(int cell, int gridWidth, int gridHeight, bool includeDiagonals) |
Returns the set of cells adjacent to the specified cell. |
Instance methods
Instance properties
| int[] | |
If not null, the constraint is limited to these values in the grid. This must include all affected
consecutive digits; for example, if this contains 2 and 3, then 1 and 2 can still be adjacent. If this
contains a single digit, the constraint is entirely ineffectual. |
| int[] | |
Optionally specifies a limited set of cells on which the no-consecutive constraint is enforced. |
| bool | |
If true, only adjacent cells that are both within NoConsecutiveConstraint.EnforcedCells are enforced. Otherwise,
cells outside of NoConsecutiveConstraint.EnforcedCells that are adjacent to a cell in NoConsecutiveConstraint.EnforcedCells are
also enforced. |
| int | | The height of the grid this constraint applies to. |
| int | | The width of the grid this constraint applies to. |
| bool | |
If true, the constraint also applies to cells diagonally adjacent to one another. If false, only
orthogonally adjacent cells are affected. |