Classic Snake Game Engine | Python & Object-Oriented Programming (OOP) with A Pathfinding*
مشروع برمجي تفاعلي متطور يعيد إحياء لعبة الثعبان الكلاسيكية، ولكن بشكل مبتكر يجمع بين تفاعل المستخدم البشري والذكاء الاصطناعي في وقت واحد على شاشة مقسمة، لعرض مقارنة مباشرة بين أداء اللاعب والذكاء الاصطناعي.
ما قمتُ بتنفيذه في المشروع:
هندسة البرمجيات الكائنية (OOP Architecture):
تصميم هيكل برمجي نظيف وقابل للتوسع باستخدام مبادئ الـ OOP، حيث تم إنشاء فئة أساسية SnakeGameBoard لإدارة الوظائف المشتركة (رسم اللوحة، توليد الطعام، الكشف عن التصادمات وحدود الجدران).
فصل الفئات الفرعية لكل من لاعب الإنسان PlayerControlledSnake والذكاء الاصطناعي AIControlledSnake لضمان استقلالية الكود وسهولة صيانته.
خوارزميات البحث والذكاء الاصطناعي (A Pathfinding Algorithm):*
برمجة وتطوير عقل للذكاء الاصطناعي يجعل الثعبان يتحرك بذكاء نحو الطعام عن طريق خوارزمية البحث A*، مدعومة بحساب المسافة (Manhattan Distance Heuristic).
معالجة المسارات وتجنب عقبة اصطدام الثعبان بجسمه أو جدران اللوحة بكفاءة عالية.
واجهة المستخدم الرسومية (GUI & Game Loop):
استخدام مكتبة Tkinter لبناء واجهة تفاعلية سلسة تدعم التحكم بلوحة المفاتيح (Arrow Keys) للاعب، وإمكانية إعادة تشغيل اللعبة بالضغط على زر R.
تصميم نظام عرض للنتائج والأطوال بشكل لحظي في أسفل الشاشة، مع إظهار حالة الفوز أو الخسارة أو التعادل (It's a tie!) عند وصول أي من الثعبانين للطول المستهدف (15 نقطة).
التقنيات والأدوات المستخدمة:
لغة البرمجة: Python
مكتبة الواجهات: Tkinter
المفاهيم البرمجية: Object-Oriented Programming (OOP), A* Algorithm, Heapq Optimization.