تفاصيل العمل

نوع العمل:

مشروع تطبيق متعدد الألعاب مبني باستخدام البرمجة الكائنية (OOP) بلغة C++. يتيح للمستخدمين لعب مجموعة من الألعاب المختلفة ضمن منصة واحدة، مع إدارة جميع الألعاب عبر كائن واحد (GameManager) بطريقة مرنة وقابلة للتوسيع.

ميزات المشروع:

هيكلية موحدة وقابلة للتوسيع: كل لعبة مكوّنة من GameBoard و GameUI، مما يسمح بتشغيل أي لعبة بدون تعديل الكود الأساسي.

تعدد أشكال (Polymorphism): نفس GameManager قادر على تشغيل جميع الألعاب بشكل تلقائي.

التجريد (Abstraction): واجهة المستخدم (UI) لا تعرف منطق اللعبة الداخلي، مما يسهل صيانة المشروع.

إعادة استخدام الكود والوراثة (Inheritance): جميع اللوحات ترث من Board<T> وجميع الواجهات ترث من UI<T>.

التغليف (Encapsulation): البيانات الداخلية وقواعد اللعبة مخفية ويمكن الوصول إليها فقط من خلال الدوال العامة.

طريقة التنفيذ:

تصميم أصناف أساسية مشتركة (Board<T>, UI<T>, Player<T>, Move<T>, GameManager<T>).

لكل لعبة، إنشاء:

GameBoard (يرث من Board<T> ويحتوي على منطق اللعبة).

GameUI (يرث من UI<T> ويتولى التفاعل مع المستخدم).

استخدام الدوال الافتراضية (Virtual Functions) لإعادة تعريف وظائف كل لعبة (update_board(), is_win(), is_draw(), get_move()).

تشغيل اللعبة عبر GameManager الذي يتناوب بين اللاعبين، يقرأ الحركات، ويقرر حالات الفوز أو التعادل.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
2
تاريخ الإضافة
تاريخ الإنجاز
المهارات