This module is still in development and was created as part of a school assignment.
SudokuSolver
is a library written in JavaScript
that helps to generate, solve, and validate classic Sudoku puzzles with 9x9 cell grids. It includes classes for creating complete and incomplete grids, generating hints, and solving and validating grids according to standard Sudoku rules.
-
Clone or download this repository through GitHub.
-
Install the dependencies as npm package:
npm install sudoku-puzzle-solver
Example of how to use the SudokuSolver module to generate and solve a Sudoku puzzle:
import SudokuGenerator from './src/sudokuGenerator.js'
import SudokuSolver from './src/sudokuSolver.js'
// Create a generator and generate an incomplete Sudoku grid.
const generator = new SudokuGenerator()
const unfinishedGrid = generator.generateUnfinishedSudokuGrid('medium')
// Create a solver and solve the grid.
const solver = new SudokuSolver(unfinishedGrid)
solver.solveGrid()
console.log(solver.grid.sudokuGrid)
All tests for the module were run using Jest and verified as passing. See testreport.md
for detailed results.
Tests involve both static grids and dynamically generated grids for comprehensive coverage:
- Static Grid: Predictable and repeatable tests with known expected outcomes.
- Dynamic Grid: Varying conditions to reveal potential issues not apparent with static data.
All known bugs, including previous infinite loop issues in the SudokuGenerator
, have been resolved.
1.1.0
- Node.js version 20.6.0 or later.
This project is licensed under the MIT license. For more information, see LICENSE
.
If you wish to contribute to the project or report bugs, please open a pull request or create an issue in the GitHub repository.