هذا المشروع هو تطبيق كامل للعبة X-O (Tic-Tac-Toe) ضد الكمبيوتر باستخدام لغة Python في بيئة Jupyter Notebook. المشروع يتضمن:
لوحة لعب ثلاثية الأبعاد (3x3)
خيار للاعب لبدء اللعب أولاً (كـ X) أو ثانياً (كـ O)
ذكاء اصطناعي للكمبيوتر يستخدم خوارزمية Minimax مع تقليم Alpha-Beta لاتخاذ أفضل قرار
واجهة نصية بسيطة تعرض اللوحة وتدير التفاعل مع اللاعب
إمكانية لعب عدة جولات متتالية
المهارات البرمجية المستخدمة
1. المهارات الأساسية
هياكل البيانات: استخدام المصفوفات ثنائية الأبعاد لتمثيل لوحة اللعب
التحكم في التدفق: استخدام الحلقات (while/for) والشروط (if-elif-else) لإدارة سير اللعبة
إدارة الأخطاء: معالجة المدخلات غير الصالحة من المستخدم باستخدام try-except
2. المهارات المتقدمة
الخوارزميات المتقدمة:
تطبيق خوارزمية Minimax لاتخاذ القرارات المثلى
استخدام تقليم Alpha-Beta لتحسين أداء الخوارزمية
الوظائف المعقدة: تقسيم الكود إلى وظائف متخصصة لكل مهمة (طباعة اللوحة، التحقق من الفوز، etc.)
التقييم الاستكشافي: تطبيق دالة heuristic_evaluation لتقييم الوضع الحالي للوحة
3. المهارات الإضافية
التفاعل مع المستخدم: إدارة دورة المحادثة مع اللاعب (اختيار الدور، إدخال الحركات)
إعادة الاستخدام: وظيفة clear_board لإعادة تعيين اللوحة بين الجولات
إدارة الحالة: تتبع حالة اللعبة الحالية وتحديثها باستمرار
4. المهارات الرياضية والمنطقية
المنطق الرياضي: التحقق من شروط الفوز عبر الصفوف والأعمدة والقطريات
تحليل الشجرة: بناء شجرة القرارات وتحليل النتائج المحتملة لكل حركة
ميزات إضافية في المشروع
مرونة اختيار الدور: يمكن للاعب اختيار أن يلعب أولاً (كـ X) أو ثانياً (كـ O)
ذكاء اصطناعي قوي: الكمبيوتر لا يخسر أبداً (إما يفوز أو يعادل)
واجهة سهلة الفهم: عرض واضح للوحة مع إرشادات للمستخدم
إدارة الأخطاء: معالجة المدخلات غير الصالحة بطريقة ودية
إمكانية اللعب المتكرر: يمكن لعب عدة جولات دون إعادة تشغيل البرنامج