Sudoku Challenge: One Game in Different Languages

Available in :

I'm excited to present Sudoku Challenge, a new educational project I just launched on GitHub. The goal is to implement the same Sudoku game in different languages and frameworks to illustrate various development approaches and the specificities of each technology.

🎮 The Project

The project involves developing a complete Sudoku game with:

  • Grid generation
  • Rule validation
  • Intuitive user interface
  • Verification system
  • Difficulty levels
  • Timer

💻 Implementations

C++/Qt (Available)

The first version, developed in C++ with Qt, is already available. It showcases:

  • Object-oriented programming in C++
  • Native GUI with Qt
  • Event handling
  • Performance optimization

C++/Qt Sudoku Game Demo

Symfony 7 (In Development)

The Symfony version is under development. It will highlight:

  • MVC architecture
  • User session management
  • Forms and validation
  • Twig rendering
  • Testing with PHPUnit

Next.js 15 (Planned)

The Next.js version will demonstrate:

  • Server-side rendering (SSR)
  • Modern React components
  • TypeScript typing
  • Client-side state management
  • Testing

🔍 Technical Points of Interest

C++/Qt Version

cpp
1class SudokuGrid : public QWidget {
2 Q_OBJECT
3public:
4 explicit SudokuGrid(QWidget *parent = nullptr);
5
6signals:
7 void cellChanged(int row, int col, int value);
8
9private:
10 std::array<std::array<int, 9>, 9> grid;
11 // ...
12};

This implementation emphasizes:

  • Raw C++ performance
  • Native user interface
  • Efficient memory management
  • Qt signals and slots

🎯 Educational Objectives

This project allows you to:

  • Compare programming paradigms
  • Explore architectural differences
  • Analyze performance
  • Understand technology-specific features

🤝 Contributing

The project is open source under MIT license. You can:

  • ⭐ Star the repository
  • 🐛 Report bugs
  • 💡 Suggest improvements
  • 🔧 Contribute to the code

📚 Documentation

Each implementation has its own detailed documentation in its respective folder:

🔜 Next Steps

  1. Finalizing the Symfony version
  2. Developing the Next.js version
  3. Adding advanced features:
    • Multiplayer mode
    • Game saving
    • Game statistics
    • Rankings

Stay tuned for updates and feel free to contribute to the project! 🚀


Want to discuss the project or contribute? Contact me on LinkedIn or via GitHub.

Share this article


Sébastien Timoner

Sébastien TIMONER

Lead Developer
Custom Development Expert
Aix-en-Provence, France

Expert in web development and team management, I specialize in creating and optimizing high-performance digital solutions. With extensive expertise in modern technologies like React.js, Node.js, TypeScript, Symfony, and Zephyr OS for IoT, I ensure the success of complex SaaS and IoT projects, from design to production, for companies across various sectors, at offroadLabs.

At offroadLabs, I offer custom development services that combine technical expertise with a collaborative approach. Whether creating an innovative SaaS solution, developing IoT systems with Zephyr OS, modernizing an existing application, or supporting the upskilling of a team, I am committed to delivering robust and high-performance solutions tailored to the specific needs of each project.

I am available for projects in the Aix-en-Provence area or fully remote.

Sudoku Challenge: One Game in Different Languages