⚔️

معركة الأسئلة

مميز

لعبة أسئلة تفاعلية متعددة اللاعبين في الوقت الحقيقي مع غرف لعب، أوضاع فرق، ونظام تسجيل نقاط مباشر

نظرة عامة

معركة الأسئلة هي لعبة مسابقات تفاعلية متعددة اللاعبين تعمل في الوقت الحقيقي باستخدام Socket.io. تتيح اللعبة للاعبين إنشاء غرف لعب والتنافس فرديًا أو كفرق في مسابقات معرفية متنوعة. يتميز النظام بلوحة تسجيل نقاط مباشرة تُحدَّث فوريًا مع كل إجابة، مما يخلق جوًا من الحماس والمنافسة. تشمل اللعبة تصنيفات متعددة للأسئلة مثل العلوم والتاريخ والرياضة والثقافة العامة، مع جولات مؤقتة تضيف ضغطًا إضافيًا. التطبيق مُعبأ بـ Docker لتسهيل النشر والتشغيل في أي بيئة.

المميزات

  • غرف لعب في الوقت الحقيقي عبر Socket.io تسمح لعدة لاعبين بالتنافس في وقت واحد بدون تأخير
  • وضع الفرق ضد الفرق حيث يمكن للاعبين تكوين فرق والتنافس جماعيًا مع نظام نقاط مشترك
  • لوحة تسجيل نقاط مباشرة تُحدَّث فوريًا مع كل إجابة وتعرض ترتيب اللاعبين والفرق
  • تصنيفات متنوعة للأسئلة تشمل العلوم والتاريخ والرياضة والثقافة العامة والجغرافيا
  • جولات مؤقتة مع مؤقت عد تنازلي يضيف عنصر الإثارة والضغط على اللاعبين
  • تحديثات فورية عبر WebSocket تضمن مزامنة حالة اللعبة بين جميع اللاعبين بدون تأخير

كيف يعمل

يعتمد التطبيق على Socket.io للاتصال ثنائي الاتجاه بين الخادم والعملاء. عند إنشاء غرفة، ينشئ الخادم مساحة Socket منفصلة ويدير حالة اللعبة مركزيًا. الأسئلة تُرسل لجميع اللاعبين في نفس اللحظة، والإجابات تُقيَّم فوريًا على الخادم لضمان العدالة. Prisma يُستخدم لتخزين سجلات اللعب والنتائج، وDocker يُسهل النشر.

التحديات

أكبر تحدٍّ كان ضمان مزامنة حالة اللعبة بين جميع اللاعبين في الوقت الحقيقي بدون تأخير ملحوظ. كذلك كان تصميم نظام الجولات المؤقتة مع التحقق من صحة الإجابات في نفس اللحظة يتطلب دقة عالية. إدارة الاتصالات المتقطعة وإعادة تواصل اللاعبين المنقطعين كانت تحديًا إضافيًا استلزم حلولًا مبتكرة.

التقنيات المستخدمة

Next.jsTypeScriptSocket.ioTailwind CSSPrismaDocker