شارك المقالة
أنشئ لعبة بطاقة خدش احترافية في Flutter خلال دقائق 🔥 (مع كود جاهز)

أنشئ لعبة بطاقة خدش في Flutter خلال دقائق (مع كود جاهز)

إنشاء لعبة بطاقة خدش في Flutter للكشف عن الجوائز باستخدام Flutter


في عالم التطبيقات التفاعلية، يبحث المستخدمون دائمًا عن تجارب ممتعة وجذابة. من أكثر الأفكار انتشارًا في تطبيقات المكافآت والألعاب هي بطاقة الخدش (Scratch Card)، والتي تتيح للمستخدم “خدش” البطاقة للكشف عن جائزة مخفية.

في هذا الدليل العملي، سنتعلم كيفية إنشاء بطاقة خدش احترافية باستخدام Flutter ولغة Dart مع شرح كامل للكود خطوة بخطوة.

ما هو Flutter ولماذا نستخدمه؟

Flutter هو إطار عمل مفتوح المصدر من Google يتيح إنشاء تطبيقات عالية الأداء تعمل على Android وiOS باستخدام قاعدة كود واحدة. يتميز بسهولة بناء واجهات تفاعلية، مما يجعله خيارًا مثاليًا لبناء تطبيقات مثل الألعاب وبطاقات المكافآت.

إعداد المشروع

أولًا تأكد من تثبيت Flutter على جهازك من الموقع الرسمي:
https://flutter.dev

ثم قم بإنشاء مشروع جديد عبر الأمر:

flutter create scratch_card_app
بعدها انتقل إلى مجلد المشروع:

cd scratch_card_app

إضافة مكتبة Scratcher

لبناء تأثير الخدش بسهولة سنستخدم مكتبة Scratcher. أضفها إلى pubspec.yaml:

dependencies:
  scratcher: ^2.0.0
ثم نفذ:

flutter pub get

تصميم بطاقة خدش بسيطة

قم بإنشاء ملف جديد داخل lib باسم: scratch_card.dart


import 'package:flutter/material.dart';
import 'package:scratcher/scratcher.dart';

class ScratchCard extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('بطاقة الخدش'),
      ),
      body: Center(
        child: Scratcher(
          brushSize: 50,
          threshold: 50,
          color: Colors.grey,
          onChange: (value) => print("خدش ${value.toStringAsFixed(2)}%"),
          onThreshold: () => print("تم الكشف عن الجائزة!"),
          child: Container(
            width: 300,
            height: 300,
            color: Colors.blue,
            child: Center(
              child: Text(
                "مبروك! لقد ربحت جائزة!",
                style: TextStyle(color: Colors.white, fontSize: 24),
                textAlign: TextAlign.center,
              ),
            ),
          ),
        ),
      ),
    );
  }
}

شرح الكود

استخدام Scratcher:
هو العنصر الأساسي الذي يوفر تأثير الخدش التفاعلي.

brushSize:
يحدد حجم الفرشاة المستخدمة أثناء الكشط.

threshold:
النسبة المئوية المطلوبة للكشف الكامل عن الجائزة.

onChange:
يتم استدعاؤها أثناء عملية الخدش لمعرفة نسبة التقدم.

onThreshold:
يتم تنفيذها عند الوصول إلى نسبة الخدش المحددة.

مثال احترافي: عرض الجائزة داخل Dialog مع BottomSheet

في هذا المثال سنعرض شبكة بطاقات، وعند الضغط عليها تظهر نافذة تحتوي على بطاقة خدش، وعند الفوز يتم عرض BottomSheet بالجائزة.

Scratcher(
  brushSize: 30,
  threshold: 30,
  color: Colors.green,
  image: Image.asset('assets/sc.png'),
  onChange: (value) {
    if (value >= 70) {
      _bottom();
    }
    debugPrint("Scratch progress: $value%");
  },
  onThreshold: () =>
      debugPrint("Threshold reached, you won!"),
  child: Container(
    height: 300,
    width: 300,
    color: Colors.white,
    child: Center(
      child: Text(
        'You Won ₹ 500',
        style: TextStyle(
          fontSize: 24,
          fontWeight: FontWeight.w600,
        ),
      ),
    ),
  ),
)

أفضل ممارسات عند إنشاء بطاقة خدش

– لا تجعل قيمة threshold منخفضة جدًا – استخدم صور جذابة للطبقة العليا – أضف مؤثرات صوتية لزيادة التفاعل – اربط الجائزة بنظام نقاط أو قاعدة بيانات – تأكد من منع تكرار الفوز عند إعادة فتح البطاقة

تطوير الفكرة لمستوى احترافي

يمكنك ربط بطاقة الخدش بـ: – Firebase لتخزين الجوائز – API خارجي لتوليد مكافآت عشوائية – نظام إعلانات لزيادة الأرباح – نظام Coins داخل التطبيق

الكود المصدر الكامل

يمكنك الاطلاع على الكود الأصلي عبر GitHub:

رابط الكود المصدر

الخلاصة

إنشاء بطاقة خدش في Flutter يُعد من أسهل وأجمل الطرق لإضافة عنصر تفاعلي لتطبيقك. باستخدام مكتبة Scratcher يمكنك تنفيذ الفكرة خلال دقائق مع إمكانية تطويرها إلى نظام مكافآت كامل داخل التطبيق.

إذا كنت تطور تطبيق ألعاب أو مكافآت أو متجر إلكتروني، فإن إضافة ميزة بطاقة الخدش ستزيد من تفاعل المستخدمين بشكل كبير.

Flutter يجعل بناء مثل هذه التجارب أمرًا ممتعًا وسريعًا.


واذا كنت ترغب بمزيد من التصاميم في فلاتر يمكنك مشاهده المقاله التاليه : تنفيذ Flutter Parallax Effect في تطبيقات Flutter لتحسين تجربة المستخدم
شاهد أيضًا
مقالات ذات صلة
شرح كيفية استخدام StatefulBuilder داخل Flutter ورفع كفاءة تطبيقك

شرح كيفية استخدام StatefulBuilder داخل Flutter ورفع كفاءة تطبيقك في هذا المقال سوف نشرح لكم…

كود جافا لمعرفة هل الشخص محصن من فيرس كرونا-19 ام لا | java code to Find out if a person has corona virus or not

  كود جافا لمعرفة هل الشخص محصن من فيرس كرونا-19 ام لابعد انتشار فيروس كرونا…

عمل انتقال للصور مع animation بسيط لتحسين عملية نقل البيانات

  عمل انتقال للصور مع animation بسيط لتحسين عملية نقل البياناتالانميشن اصبح امر مرغوب به…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع