Sudoku Game هو تطبيق سطح مكتب مطوّر بلغة Java يقدّم تجربة لعب سودوكو تفاعلية بواجهة رسومية (GUI)، مع توليد تلقائي للألغاز، التحقق الفوري من الحل، وإمكانية استكمال اللعبة عبر جلسات متعددة. يدعم النظام ثلاث مستويات صعوبة تختلف بعدد الخلايا الفارغة، ويتم إنشاء كل لغز انطلاقًا من حل صحيح يتم التحقق منه عند أول تشغيل عبر ملف CSV.
يعتمد المشروع على معمارية MVC مع استخدام Facade Pattern لفصل الطبقات بوضوح بين الواجهة (View)، منطق التحكم (Controller)، ومنطق الأعمال، مما يعزز القابلية للصيانة والتوسع. كما تم توظيف عدة Design Patterns مثل Factory لإنشاء الألعاب، Strategy لتحديد مستوى الصعوبة، Iterator لتوليد التباديل عند الحاجة دون استهلاك ذاكرة كبيرة، وFlyweight لمشاركة حالة اللوحة بين خيوط المعالجة في الـ Solver.
يوفّر النظام تحققًا لحظيًا مع تمييز الأخطاء، ودعم خاصية Undo عبر نظام Logging يسجل جميع الحركات، بالإضافة إلى تخزين تلقائي يسمح باستئناف اللعب لاحقًا. يتم تمثيل اللوحة بثلاث طرق متزامنة (صفوف، أعمدة، مربعات 3×3) لتسريع عملية التحقق من التكرارات وتحديد حالة اللعبة: VALID أو INCOMPLETE أو INVALID.
يتضمن المشروع Solver ذكي يعمل بالتوازي (Parallel Processing) لاختبار جميع الاحتمالات عند تبقي 5 خلايا فقط، مستفيدًا من تعدد أنوية المعالج لزيادة السرعة والكفاءة. يتطلب التشغيل Java 21 أو أحدث، ويتم تشغيله عبر ملف Main.java بعد استيراد المشروع إلى بيئة التطوير.