Mini Minesweeper Lite GAME
تُعيد لعبة ميني ماينزويبر لايت لعبة الألغاز المنطقية الخالدة إلى الهواتف المحمولة بتصميم بكسل كلاسيكي مميز. تعتمد اللعبة بشكل أساسي على لعبة ماينزويبر الأصلية: كشف الخلايا الآمنة، ووضع علامات على الألغام، وإخلاء اللوحة دون تفجيرها.
**طريقة اللعب**
- ثلاثة مستويات صعوبة: سهل (9×9، 10 ألغام)، متوسط (12×12، 20 لغمًا)، صعب (16×16، 40 لغمًا)
- أمان من أول نقرة: أول خلية تكشفها والخلية المجاورة لها (8 خلايا) ستكون خالية من الألغام.
- تلميحات رقمية تُشير إلى وجود ألغام في الخلايا الثماني المحيطة.
- الخلايا الفارغة تُوسّع تلقائيًا المناطق الآمنة المجاورة (ملء الفيضان).
- التبديل بين وضع الكشف (انقر للحفر) ووضع وضع العلامات (انقر للتحديد).
- الفوز يكون بكشف جميع الخلايا الآمنة. تخسر عند اصطدامك بلغم
**الأهداف والحدود**
- لا توجد حدود للعدد أو الوقت - ركّز على الدقة لا السرعة
- مؤقت يحسب الوقت المنقضي من أول نقرة
- تحدَّ نفسك لتحطيم أفضل رقم شخصي لك في كل مستوى صعوبة
- عدد غير محدود من المحاولات كل لعبة عبارة عن لوحة جديدة يتم إنشاؤها عشوائيًا
**أنظمة المساعدة**
- تلميح: شاهد إعلانًا بمكافأة للكشف التلقائي عن خلية آمنة واحدة (خلية واحدة لكل لعبة)
- أزرار تبديل الوضع في الأسفل للتبديل بين الكشف والعلم
- اضغط مطولًا على أي خلية لتفعيل العلم بسرعة دون تغيير الوضع
**التصميم المرئي: تصميم كلاسيكي بكسلي**
- زوايا مستديرة (جميع الأزرار والبطاقات المربعة)
- أزرار ثلاثية الأبعاد مشطوفة مع تظليل وظلال
- حدود بكسلية من 2 إلى 4 بكسل لجميع عناصر واجهة المستخدم
- خط أحادي المسافة للأرقام والتسميات
- خلفية داكنة (#0D0D0D) مع لمسات خضراء زاهية (#00E436)
- نص غامق بأحرف كبيرة
- رموز تعبيرية (💣 ⏱ 💡 🚩) لسهولة التعرف عليها
- استجابة الضغط: تصبح الأزرار ثلاثية الأبعاد مسطحة عند الضغط عليها
**الصفحات والتنقل**
- الصفحة الرئيسية: 6 أزرار بكسلية (تشغيل، الإعدادات، طريقة اللعب، السجل، الإحصائيات، الإنجازات)
- شاشة اللعبة: لوحة مربعة مركزية، واجهة مستخدم مع عدادات الألغام/المؤقت، مفتاح تبديل الوضع، زر التلميح
- مربع حوار الصعوبة: اختر سهل/متوسط/صعب قبل البدء
- مربع حوار نتيجة اللعبة: يعرض الوقت، أفضل وقت، شارة الرقم القياسي الجديد
- شاشة الإعدادات: مفاتيح تبديل الصوت، الاهتزاز، المؤثرات الكلاسيكية
- شاشة طريقة اللعب: 4 بطاقات تعليمية تشرح الأرقام، الأعلام، الأوضاع، والتلميحات
- شاشة السجل: قائمة سجلات قابلة للتمرير مع زر مسح الكل
- شاشة الإحصائيات: 11 إحصائية (عدد المباريات، نسبة الفوز، أفضل الأوقات، المباريات المثالية)
- شاشة الإنجازات: 8 إنجازات في شبكة من عمودين (الفوز الأول، شيطان السرعة، الكمالي، سلسلة انتصارات 3/5، المخضرم، المحترف، الوضع الصعب)
- الصفحات الفرعية: العودة إلى الصفحة الرئيسية عبر زر الرجوع بالبكسل؛ تستخدم الصفحة الرئيسية زر الرجوع المزدوج للخروج
**ملاحظات تجربة المستخدم**
- تنقل متعدد الأنشطة بالكامل، بدون بنية تبويب سفلية
- شريط أدوات بكسل مخصص في جميع الصفحات الفرعية (خلفية سوداء داكنة، وحدود بكسل خضراء 4dp في الأسفل، وزر رجوع ثلاثي الأبعاد مع سهم ◀)
- تكيف كامل مع حافة الشاشة لشريط الحالة ومنطقة التنقل السفلية
- حساب ديناميكي لحجم الخلية لتوسيط لوحة المربع على الشاشة
- تأكيد الإيقاف المؤقت عند الخروج من لعبة نشطة
**تكامل الإعلانات**
- دمج TradPlus SDK من خلال وحدة tradplus-sdk مستقلة
- إعلانات مكافآت: تعزيز التلميحات (واحد لكل لعبة)
- إعلانات بينية: انتقال العودة إلى الصفحة الرئيسية عند انتهاء اللعبة، بحد أقصى 3 إعلانات لكل جلسة
- تم تكوين معرّفات وحدات الإعلانات في MinesweeperApp.kt و AndroidManifest.xml
- جمع موافقة GDPR عند التشغيل الأول
**استمرار البيانات**
- SharedPreferences + Gson لسجل التصفح (بحد أقصى 100 سجل)، والإحصائيات (11) المقاييس، الإنجازات (٨ قابلة للفتح)، الإعدادات (٣ مفاتيح تبديل)
- قاعدة بيانات No Room؛ جميع البيانات مخزنة كسلاسل JSON
- سجل التتبع: مستوى الصعوبة، النتيجة (فوز/خسارة)، الوقت، التاريخ
- الإحصائيات: إجمالي عدد مرات الفوز/الخسارة، نسبة الفوز، أفضل الأوقات لكل مستوى صعوبة، عدد المربعات المكشوفة، عدد الأعلام الموضوعة، المباريات المثالية
- يتم فتح الإنجازات تلقائيًا بناءً على مراحل اللعب
**ملاحظات فنية**
- Kotlin
- تخطيط XML
- ربط العرض
- إدارة الحالة بنمط MVVM (LiveData + ViewModel لـ GameActivity)
- بنية متعددة الأنشطة
- استمرار SharedPreferences (بدون Room)
- Java 17
- minSdk 26 / targetSdk 36 / compileSdk 36
- محاذاة صفحات الذاكرة لنظام Android بحجم ١٦ كيلوبايت (`useLegacyPackaging = false`)
- تم تطبيق سمة Pixel Classic بالكامل

