MaskFactory
cycles through all possible masks for a grid of a given size.
Masks will be ignored if they are simply rotated or reflected forms of earlier
masks in the sequence.
MaskFactory [-c cellsInRow] [-r|-a boxes across] [-v] -i|filledCells
The option [-c cellsInRow]
stipualtes the number of cells to appear
in a single row or column of the grid. The default value is 9.
MaskFactory
will cycle through all possible masks - however, the
user has some control over where in the cycle the app will start. By default,
the app will start at the beginning. When the -r
option is specified,
the app will start the cycle at a random position. When the -a boxes across
,
the cycle will start at a position such that the filled cells are uniformly distributed
across the grid of the given size.
The option [-v]
enables verbose output.
The option [-i]
stipulates that the initial mask will be read from standard
input. The mask should be entered in the format that MaskFactory
displays if
the -v
option has been specified.
filledCells
stipulates the number of filled cells to appear on the masks.
MaskFactory -c 4 -v 4
displays all masks for a 2x2 Su Doku grid with
4 initially-filled cells.
MaskFactory 10
counts the number of distinct masks for the classis
Su Doku grid with 10 initially-filled cells.