Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Namespace: PuzzleSolvers

Assembly: PuzzleSolvers
Describes a constraint in which a specified set of cells must have one of a specified set of value combinations, but they may be reordered arbitrarily.
Describes a constraint in a number placement puzzle in which cells that are diagonal from each other (like a bishop’s move in chess) cannot contain the same value.
Describes a constraint in a number placement puzzle in which cells that are at specific relative placements from one another cannot contain the same value.
Describes a constraint that mandates that two same-size regions cannot contain the exact same digits.
Describes a constraint in a number placement puzzle where no adjacent cells (including diagonals) can have the same value.
Describes a constraint in a number placement puzzle in which cells that are a knight’s move away from each other cannot contain the same value.
Describes a “battlefield” constraint: the first and last number in the region represent the sizes of two armies, who march inward; the clue specifies the sum of the digits that are sandwiched between the armies or that are within the armies’ overlap. This constraint implies a uniqueness constraint. (see also remarks)
Describes a “between line” constraint: every digit within the BetweenLineConstraint.InnerCells must lie numerically between the values in cells BetweenLineConstraint.Cap1 and BetweenLineConstraint.Cap2 (exclusive).
Describes a Binairo (Binary Puzzle, Tohu-wa-Vohu) puzzle.
Describes a constraint where two regions of the grid must be identical (“clones”). (see also remarks)
Describes a constraint in which a specified set of cells must have one of a specified set of exact value combinations.
Describes a “Renban cage”: the numbers within the region must be unique and form a set of consecutive integers (though not necessarily in order). (see also remarks)
Abstract base class for all constraints in a puzzle.
Return this from a call to Constraint.Process(SolverState) to indicate that this constraint should be replaced with a given set of other constraints (which can be empty to remove this constraint).
Base class for classes describing the result of a call to Constraint.Process(SolverState).
Return this from a call to Constraint.Process(SolverState) to indicate that the constraint is already violated. (see also remarks)
Describes the function signature required for a LambdaConstraint. See Constraint.Process(SolverState) for parameter and return value documentation.
Describes a constraint in a number-placement puzzle (such as Sudoku) where several regions must have the same sum, but the sum is not given.
Contains an algorithm for solving Fillomino puzzles. This solver is independent of Puzzle.
Describes a constraint in a number-placement puzzle that indicates that whatever value the specified FindTheValueConstraint.Cell contains, the cell that many steps away must contain FindTheValueConstraint.Value.
Constrains five cells to values that satisfy a lambda expression. (see also remarks)
Constrains four cells to values that satisfy a lambda expression. (see also remarks)
Describes a Frame-Sum Sudoku, which is surrounded by numbers. Every number indicates the sum of the first few cells visible from that location. Between minLength and maxLength cells may be included in that sum.
Describes a given in a puzzle (a value already pre-filled at the start).
Describes a constraint in which a specific region of cells must sum up to the value in another cell. In a variant Sudoku, this is often represented as an arrow coming out of a circle, and hence, the variant is known as “Arrow Sudoku”.
Describes a Sudoku puzzle with irregular regions.
Encapsulates a 9×9 Sudoku puzzle with Killer cages (sum + uniqueness constraints).
Describes a constraint that will solve a Kyudoku puzzle given a 6×6 grid of numbers 1–9. The solution will contain a 0 for marked cells and a 1 for struck-out cells.
Can be used to describe any constraint that applies to the whole puzzle using a lambda expression.
Describes a standard 9×9 Sudoku puzzle.
Describes a constraint in a number-placement puzzle (such as a Thermometer Sudoku) where a series of cells must be in ascending order.
Describes a constraint in a number-placement grid puzzle where no adjacent cells can have numerically consecutive values.
Contains methods to deal with Nonogram puzzles.
Describes a constraint in a number-placement grid puzzle where the values in orthogonally adjacent cells (NOT including diagonals) cannot have the same remainder modulo a fixed quotient.
Contains an algorithm for solving Numberlink puzzles. This solver does not use Puzzle.
Describes a constraint in which a group of cells can be only all evens or all odds.
Describes the specific flavor of an OddEvenConstraint.
Describes a constraint where two regions of the grid must be identical (“clones”) except that one is plus or minus a consistent offset from the other. (see also remarks)
Constrains a single cell to values that satisfy a lambda expression.
Describes a composite constraint in which one of a set of constraints must be met.
Describes a constraint that mandates that there must be an equal number of odd and even values in a row. This is a subset of the rules of Binairo. (see also remarks)
Describes a constraint in a number-placement puzzle that mandates that the parity (odd/evenness) of the values cannot form triplets in a row/column. (see also remarks)
Describes a constraint in a number-placement puzzle that mandates that the parities (odd/evenness) of the values must form different patterns in every row and column. (see also remarks)
Describes a CombinationsConstraint that also implies a UniquenessConstraint.
Describes a constraint in which a specific region of cells must have a specified product (multiplication).
Describes a puzzle.
Contains extension methods for code related to PuzzleSolvers.
Describes a Sudoku variant in which numbers written outside the grid describe the sum of the digits in that row/column that are sandwiched between two specific values (usually 1 and 9).
Describes a “sandwich” constraint: the numbers sandwiched between two specific numbers must sum up to a specified total. This constraint implies a uniqueness constraint. The two specified numbers can be in any order. (see also remarks)
Describes a “sandwich wraparound” constraint: the numbers that follow a specific number and precede a specific other number, wrapping around the grid if necessary, must sum up to a specified total. This constraint implies a uniqueness constraint. (see also remarks)
Constrains six cells to values that satisfy a lambda expression. (see also remarks)
Represents a Skyscraper puzzle.
Describes a “skyscraper” constraint: the numbers in the grid represent the height of a skyscraper; taller skyscrapers obscure the view of smaller ones behind them; and the clue specifies how many skyscrapers are visible from the direction of the clue. This constraint implies a uniqueness constraint. (see also remarks)
Provides functions to solve Slitherlink puzzles. This solver does not use Puzzle.
Use this to instruct the puzzle solver (Puzzle.Solve(SolverInstructions)) to perform certain types of analysis for the debugging of constraint implementations.
Encapsulates information given to Constraint implementations (in a call to Constraint.Process(SolverState)) during the puzzle solving algorithm.
Describes a standard 9×9 Sudoku puzzle.
Describes a constraint in a number-placement puzzle where either one of several regions must have a specified sum.
Describes a constraint in which a specific region of cells must sum up to a specified value. (see also remarks)
Describes a constraint in which a specific region of cells must have a specified value as either its sum or its product.
Describes a “killer cage”: the numbers within the region must be unique and sum up to a specified total. (see also remarks)
Constrains three cells to values that satisfy a lambda expression.
Constrains two cells to values that satisfy a lambda expression.
Describes a constraint that mandates that a region of cells must have different values.
Describes an “X-sum” constraint: the first X numbers must sum up to a specified total, where X is the first of those digits. This constraint implies a uniqueness constraint. (see also remarks)