package knights_tour

  1. Overview
  2. Docs

Module Pentominos.PuzzleSource

A polyomino puzzle consists of a board and a set of polyomino pieces to be placed onto the board. The puzzle is considered solved when all pieces have been placed.

Sourcetype t = {
  1. pieces : Polyomino.t list;
    (*

    pieces remaining to be placed

    *)
  2. board : Board.t;
    (*

    board upon which to place the pieces. For a (partially) solved puzzle it tracks what piece occupies each square.

    *)
}

Data type representing the state of a puzzle.

Sourceval classic : t

The initial state of the 'classic' Pentominos puzzle.

Sourceval classic_no_symmetric_solutions : t

Same as the 'classic' puzzle, but one assymetric puzzle piece deliberately has all but one of its variants removed (this ensures that symmetric solutions are eliminated, by not allowing that one piece to only be used in one orientation)

Sourceval solve : ?report_progress:(string -> t -> unit) -> t -> Board.t Searchspace.t
Sourceval save : out_channel -> t -> unit

Write a textual representation of a puzzle to a channel. The format is human readable; but it can also be used to restore a puzzle via the load function.

Sourceval save_fmt : Format.formatter -> t -> unit

Write a textual representation of a puzzle to a formatter. The format is human readable; but it can also be used to restore a puzzle via the load function.

Sourceval load : in_channel -> t

Load a puzzle from a textual representation as produced by save.

Sourceval load_lines : Knights_tour.Lines.t -> t

Load a puzzle from a textual representation as produced by save.

OCaml

Innovation. Community. Security.