assembleSudoku

Creates a new Sudoku puzzle based on the specified configuration.

This method selects a random schema according to the puzzle's difficulty, shuffles and rotates the layout, generates the token sequence for the puzzle and solution, and returns a SudokuPuzzle object.

Example:

val puzzle = assembler.assembleSudoku()
println("Puzzle:")
println(puzzle.givens)
println("Solution:")
println(puzzle.solution)

Return

A SudokuPuzzle object containing the generated puzzle, solution, and other metadata.