Sudoku

Sudoku App

This project started as a school assignment to build a simple Sudoku game, but it quickly evolved into something more. The original goal was to create a functional app where users could play Sudoku, but I wanted to go beyond just the basics. I decided to incorporate dynamic puzzle generation and add a feature that highlights mistakes, so users would get instant feedback as they played. I also realized that adding customization options like different themes would make the experience more personal and enjoyable.

I expanded the project to include a "How to Play" page to guide new players and make learning the rules easier. Then, I pushed it further by introducing visual feedback that changes depending on whether the input is correct or incorrect, helping users track their progress. To keep the game fresh and engaging, I built a system that randomly generates puzzles with unique solutions every time.

With Flutter's flexibility and third-party packages for puzzle generation, I was able to create an app that’s both fun and educational.




Image 1 Image 2 Image 3


Features

Sudoku Gameplay:

  • 9x9 Sudoku Grid: A traditional Sudoku grid divided into 3x3 subgrids, offering a familiar and structured gameplay experience.
  • Dynamic Puzzle Generation: Automatically generates solvable and unique puzzles for a fresh challenge every time.
  • Input Validation: Ensures no duplicate numbers are entered in rows, columns, or subgrids to maintain puzzle integrity.
  • Visual Feedback: Incorrect entries are highlighted in red, while completed puzzles are marked in green to give users clear feedback.

Customization and Guidance:

  • Multiple Themes: Choose from various themes such as Normal, Dark, and Vintage to personalize the app’s appearance.
  • How to Play: A step-by-step tutorial with images to guide new users through the basics of Sudoku gameplay.
  • Settings Page: Customize game settings, including theme switching and other preferences, to tailor the app to your needs.




Technologies Used:

  • Flutter & Dart: Cross-platform compatibility ensures the app works seamlessly on both iOS and Android devices.
  • Sudoku Solver & Generator: Utilizes the `sudoku_solver_generator` library for automatic puzzle generation and solution validation.
  • State Management: Uses the `provider` package to manage state efficiently, ensuring smooth gameplay and interactions.




GitHub Repository