أخر أعمالنا

تصميم لعبة أسئلة تفاعلية باستخدام Flutter: دليل شامل مع الأكواد

تصميم لعبة أسئلة تفاعلية باستخدام Flutter



Flutter هو إطار عمل قوي لتطوير التطبيقات عبر الأنظمة الأساسية (Android وiOS) باستخدام لغة Dart. في هذا المقال، سنشرح خطوة بخطوة كيفية تصميم لعبة أسئلة تفاعلية يمكن استخدامها في تطبيقات تعليمية أو ترفيهية.

الخطوة الأولى: إعداد المشروع

ابدأ بإنشاء مشروع Flutter جديد باستخدام الأمر التالي في واجهة الأوامر:

flutter create quiz_game

ثم انتقل إلى مجلد المشروع:

cd quiz_game

افتح المشروع في محرر النصوص المفضل لديك (مثل VS Code).

الخطوة الثانية: إعداد الهيكل الأساسي

افتح ملف lib/main.dart وقم بإنشاء الهيكل الأساسي لتطبيق اللعبة:



import 'package:flutter/material.dart';

void main() {

  runApp(QuizGame());

}

class QuizGame extends StatelessWidget {

  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      home: QuizHomePage(),

      debugShowCheckedModeBanner: false,

    );

  }

}

class QuizHomePage extends StatefulWidget {

  @override

  _QuizHomePageState createState() => _QuizHomePageState();

}

class _QuizHomePageState extends State<QuizHomePage> {

  @override

  Widget build(BuildContext context) {

    return Scaffold(

      appBar: AppBar(

        title: Text('لعبة الأسئلة'),

        centerTitle: true,

      ),

      body: Center(

        child: Text('مرحبًا بكم في لعبة الأسئلة!'),

      ),

    );

  }

}



الخطوة الثالثة: إضافة قائمة الأسئلة

قم بإنشاء قائمة بالأسئلة والإجابات:



class Question {

  final String questionText;

  final List<String> options;

  final int correctAnswerIndex;

  Question(this.questionText, this.options, this.correctAnswerIndex);

}

List<Question> questions = [

  Question(

    'ما هي عاصمة فرنسا؟',

    ['باريس', 'مدريد', 'لندن', 'روما'],

    0,

  ),

  Question(

    'ما هي أكبر قارة في العالم؟',

    ['آسيا', 'أفريقيا', 'أوروبا', 'أمريكا الشمالية'],

    0,

  ),

];



الخطوة الرابعة: عرض الأسئلة

قم بتحديث واجهة المستخدم لعرض الأسئلة:



class _QuizHomePageState extends State<QuizHomePage> {

  int currentQuestionIndex = 0;

  void nextQuestion() {

    setState(() {

      if (currentQuestionIndex < questions.length - 1) {

        currentQuestionIndex++;

      }

    });

  }

  @override

  Widget build(BuildContext context) {

    return Scaffold(

      appBar: AppBar(

        title: Text('لعبة الأسئلة'),

        centerTitle: true,

      ),

      body: Padding(

        padding: const EdgeInsets.all(16.0),

        child: Column(

          mainAxisAlignment: MainAxisAlignment.center,

          children: [

            Text(

              questions[currentQuestionIndex].questionText,

              style: TextStyle(fontSize: 20),

              textAlign: TextAlign.center,

            ),

            SizedBox(height: 20),

            ...questions[currentQuestionIndex].options.asMap().entries.map(

              (entry) {

                int index = entry.key;

                String option = entry.value;

                return ElevatedButton(

                  onPressed: () {

                    if (index ==

                        questions[currentQuestionIndex].correctAnswerIndex) {

                      print('الإجابة صحيحة!');

                    } else {

                      print('الإجابة خاطئة!');

                    }

                    nextQuestion();

                  },

                  child: Text(option),

                );

              },

            ),

          ],

        ),

      ),

    );

  }

}



الخطوة الخامسة: تحسين الواجهة

قم بإضافة المزيد من التحسينات مثل عداد النقاط أو المؤثرات البصرية عند الإجابة.

الخاتمة

بهذه الخطوات، يمكنك إنشاء لعبة أسئلة تفاعلية باستخدام Flutter. هذا المشروع يُعد بداية رائعة لتطوير تطبيقات تعليمية أو ترفيهية. قم بتطوير اللعبة بإضافة ميزات مثل المؤقت أو الأسئلة المتعددة لتحسين تجربة المستخدم.




وضع القراءة :
حجم الخط
+
16
-
تباعد السطور
+
2
-