Description

It's essentially the same project, but it's now converted from Python to JavaScript, HTML, and CSS.

Same background from the previous project version

I want my portfolio to feel like an interactive experience, not just a static showcase. When I first completed the Sudoku project in Python (my go-to language back then), I had no plans for a portfolio. But things changed, and now I have a fully functional one. Originally, using the Python Sudoku program required downloading it from GitHub, which was inconvenient. To make browsing easier for visitors, I decided to port the entire project from Python to JavaScript, HTML, and CSS.

The conversion process wasn't too challenging. With the help of forbidden tech, ChatGPT, I managed to translate 80% of the Python code to JavaScript. My main tasks were handling the HTML, CSS, and refining some core logic here and there.

  • Interactive GUI: Play Sudoku using an intuitive graphical interface.
  • Sudoku Board Generation: Generate new Sudoku boards with varying difficulty levels.
  • Solution Checker: Check if the current board configuration is valid and adheres to Sudoku rules.
  • Showing hints when the player is stuck
  • Timer for tracking how long it takes to solve a puzzle
  • A leaderboard for tracking top scores
  • Show in real-time how the algorithm changes each cell using backtracking when solving
  • Dancing Links implementation + IRL sudoku advanced techniques such as finding Hidden Singles, Hidden Pairs, Swordfish, X-wing, Y-wing, etc. to maxmiize solving runtime