Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

killer-sudoku-generator

Jeremy-Lemoine129MIT1.1.2TypeScript support: included

Generator of killer sudokus

killer, sudoku

readme

Killer Sudoku Generator

Install

npm i killer-sudoku-generator

Usage

import { 
    generateKillerSudoku, 
    getSeparationsFromAreas,
} from "killer-sudoku-generator";

const sudoku = generateKillerSudoku();

const { puzzle, solution, areas, difficulty } = sudoku;

const { verticalSeparations, horizontalSeparations } = getSeparationsFromAreas(areas);

Details

The function generateKillerSudoku takes an optional parameter difficulty which must be between easy, hard, medium and expert.

You can customize the number of cells each difficulty removes from the full solution with the overrideNumberOfCellsToRemove function like this:

import { 
    generateKillerSudoku, 
    overrideNumberOfCellsToRemove
} from "killer-sudoku-generator";

overrideNumberOfCellsToRemove("easy", 15)

const sudoku = generateKillerSudoku("easy");

By default, the numbers of cells to remove for each difficulty are:

{
    "easy": 30,
    "medium": 40,
    "hard": 50,
    "expert": 60,
}

From experience, above 67 or 68 numbers to remove, the program begins to struggle and is a bit slow and it is possible that it can hang forever above 70.

In an upcoming version, it will just raise an error after a timeout.