هذا المشروع هو تطبيق ويب تفاعلي للعبة "Tenzies" الكلاسيكية، تم تطويره بالكامل باستخدام مكتبة React JS. يهدف المشروع إلى تقديم تجربة لعب سلسة وممتعة، مع إبراز قدراتي في بناء واجهات المستخدم الحديثة والديناميكية.
ماذا يقدم هذا المشروع؟
لعبة جذابة وممتعة: اللاعب يرمي مجموعة من النردات بهدف جعل جميع أرقامها متطابقة.
وظيفة "التجميد" الذكية: يمكن للمستخدمين تجميد أي نرد بالنقر عليه، مما يثبت قيمته للرميات اللاحقة. هذه الميزة تتطلب إدارة دقيقة للحالة وتفاعلات المستخدم.
تصميم واجهة مستخدم نظيف وبديهي: واجهة اللعبة مصممة لتكون واضحة وسهلة الاستخدام، مع التركيز على تجربة المستخدم (UI/UX) المبسطة.
منطق الفوز التلقائي: يتم الكشف عن تحقيق الفوز تلقائيًا بمجرد تطابق جميع قيم النرد، مما يوفر تجربة لعب متكاملة.
التقنيات المستخدمة (مع التركيز على خبرتي):
React JS: كان العمود الفقري لهذا المشروع. قمت باستخدام:
المكونات الوظيفية (Functional Components): لتنظيم بنية التطبيق وتقسيم الواجهة إلى أجزاء قابلة لإعادة الاستخدام.
Hooks (useState, useEffect): لإدارة الحالة المعقدة للنردات (قيمتها، هل هي مجمدة)، ولتنفيذ المنطق الخاص باللعبة مثل التحقق من الفوز بعد كل تفاعل.
معالجة الأحداث (Event Handling): للتعامل مع نقرات المستخدم على النرد وزر الرمي بكفاءة.
HTML5 & CSS3: لتصميم وهيكلة الواجهة المرئية للعبة، مع التركيز على الاستجابة والتخطيط الجذاب.
لماذا هذا المشروع يعرض مهاراتي؟
إتقان أساسيات React JS: يوضح هذا المشروع فهمي العميق لكيفية عمل React، من إدارة الحالة إلى دورة حياة المكونات.
القدرة على بناء تطبيقات تفاعلية: يبرهن على قدرتي على تطوير تطبيقات ويب ديناميكية تستجيب لتفاعلات المستخدم بسلاسة.
مهارات حل المشكلات: بناء منطق اللعبة والتأكد من تفاعلاتها بشكل صحيح يعكس قدرتي على تحليل المشكلات وتقديم حلول برمجية فعالة.
التركيز على تجربة المستخدم: تصميم اللعبة البسيط والواضح يعكس اهتمامي بتقديم تجربة مستخدم ممتازة.
هذا المشروع هو مجرد لمحة عن قدراتي في تطوير الواجهات الأمامية باستخدام React JS. أنا متحمس لتطبيق هذه المهارات (إلى جانب خبرتي في Node.js، MongoDB، وغيرها) في مشاريع أكبر وأكثر تعقيدًا.