taylorjg / dlxlib-demos

React/TypeScript web app to demo dlxlib - using Dancing Links (DLX) to solve puzzles like Sudoku, Pentominoes, N Queens, Draughtboard Puzzle, Ripple Effect, TetraSticks, Kakuro, Nonogram, Flow Free, Crossword

Home Page:https://taylorjg.github.io/dlxlib-demos

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CI workflow status

Description

This web app demonstrates how to use Donald Knuth's Algorithm X to solve the following puzzles:

  • Sudoku
  • Pentominoes
  • Draughtboard Puzzle
  • N Queens
  • TetraSticks
  • Aztec Diamond
  • Ripple Effect
  • Flow Free
  • Kakuro
  • Nonogram
  • Crossword

It was written using the following technologies:

  • React
  • TypeScript
  • Scalable Vector Graphics (SVG)
  • Web Workers API

Deployed website

This web app has been published to GitHub Pages: https://taylorjg.github.io/dlxlib-demos

Screenshots

TODO

TODO

  • Add DLX matrix description modal to each demo
    • Sudoku
    • Pentominoes
    • Draughtboard Puzzle
    • N Queens
    • TetraSticks
    • Aztec Diamond
    • Ripple Effect
    • Flow Free
    • Kakuro
    • Nonogram
    • Crossword
  • Add ability to find all solutions and navigate between them
  • Add ability to see more information whilst solving:
    • Stages:
      • Building the internal rows
      • Building the DLX matrix
      • Solving the DLX matrix
    • Size of DLX matrix
    • Show accumulated time as solving proceeds:
      • Show an individual value for each stage
      • Show a total value
    • Step count
    • Solution count
  • UI/styling improvements to home page
  • UI/styling improvements to demo page
  • Responsive UI improvements to home page
  • Responsive UI improvements to demo page
  • Add more unit tests
  • Add some end-to-end tests
  • Add eslint
  • Add prettier

Links

About

React/TypeScript web app to demo dlxlib - using Dancing Links (DLX) to solve puzzles like Sudoku, Pentominoes, N Queens, Draughtboard Puzzle, Ripple Effect, TetraSticks, Kakuro, Nonogram, Flow Free, Crossword

https://taylorjg.github.io/dlxlib-demos


Languages

Language:TypeScript 99.3%Language:HTML 0.5%Language:JavaScript 0.2%