الضفدع ضد الخنفساء: تحكم في لعبة Scratch باستخدام وجهك

استخدم أنفك للتحكم في ضفدع جائع والتقاط أكبر عدد ممكن من الخنافس قبل انتهاء الوقت. تستخدم لعبة Scratch الممتعة هذه إضافة الذكاء الاصطناعي FaceMesh لربط موضع الضفدع بنقطة دقيقة على الوجه.

مستوى الصعوبة
مبتدئ

🕒

الوقت التقديري
20–25 دقيقة

🧩

الإضافة
FACEMESH

Frog vs Beetle: Control a Scratch Game with Your Face - stage

📖 ما الذي ستتعلّمه

  • كيفية اكتشاف FaceMesh للنقاط المرجعية التفصيلية على الوجه
  • كيفية قراءة الموضعين X و Y لطرف الأنف
  • كيفية التحكم في كائن (sprite) في Scratch عن طريق تحريك وجهك
  • كيفية جعل كائن يتجه نحو كائن آخر
  • كيفية إنشاء لعبة التقاط محددة بوقت
  • كيفية استخدام المتغيرات لتسجيل الوقت والنقاط (score)

 

يمكن لـ FaceMesh في Pishi.ai تتبّع 478 نقطة مرجعية على الوجه وإرجاع إحداثيات أي landmark محددة على منصة Scratch ‏(Stage). في هذا المشروع، تُستخدم landmark 1، وهي النقطة الموجودة عند طرف الأنف، للتحكم في الضفدع.

🧰 ما الذي تحتاج إليه

استخدم إضاءة جيدة واجعل وجهك مرئياً للكاميرا حتى يتمكن FaceMesh من تتبعه بموثوقية. تتم عملية اكتشاف الوجه محلياً في المتصفح، ولا يتم تحميل صور الكاميرا.

🛠️ أنشئ مشروعك

1

1. إعداد اللعبة

أضف كائني (sprites) Frog و Beetle إلى مشروعك.

أنشئ متغيرين:

  • score (النقاط)
  • time (الوقت)

ستستمر اللعبة لمدة 15 ثانية. خلال ذلك الوقت، يحرك اللاعب الضفدع بأنفه ويحاول التقاط الخنفساء.

يمكنك اختيار أي خلفية تعجبك. خلفية بركة أو حديقة أو غابة ستكون مناسبة جداً.

Prepare Pishi.ai character for Voice Control - Scratch blocks
2

2. التحكم في الضفدع باستخدام أنفك

أضف إضافة FaceMesh واسمح للمتصفح باستخدام الكاميرا الخاصة بك.
عند النقر على العلم الأخضر:

  • اجعل time مساوياً لـ 0
  • استمر في تحريك الضفدع حتى تنتهي اللعبة
  • اجعل الموضع X للضفدع مساوياً للموضع X لطرف الأنف
  • اجعل الموضع Y للضفدع مساوياً للموضع Y لطرف الأنف
  • اجعل الضفدع يتجه نحو الخنفساء

استخدم keypoint 1، وهي النقطة التي تمثل طرف الأنف، وحدد person 1.

الآن حرك رأسك أمام الكاميرا. يجب أن يتبع الضفدع حركة أنفك على المنصة (Stage)، مع بقائه متجهاً دائماً نحو الخنفساء.
على عكس الاكتشاف البسيط للوجه، يتيح FaceMesh للمشروع قراءة موضع نقطة مرجعية فردية من شبكة وجه تفصيلية. كما يمكنه تحديد شخص معين عندما يكون هناك أكثر من وجه مرئي.

FaceMesh Scratch blocks that make the frog follow the player’s nose
انقر على الصورة لتكبيرها
3

3. إضافة الخنفساء وتسجيل النقاط

قم ببرمجة كائن Beetle للظهور في مواضع عشوائية.
عند النقر على العلم الأخضر:

  • اجعل score مساوياً لـ 0
  • انقل الخنفساء إلى موضع عشوائي
  • أعد تعيين المؤقت المدمج في Scratch
  • استمر حتى يتجاوز المؤقت 15 ثانية
  • تحقّق مما إذا كانت الخنفساء تلامس الضفدع.
  • اجعل الخنفساء تتجه نحو الضفدع

عندما يلامس الضفدع الخنفساء:

  • زِد score بمقدار 1
  • شغّل صوت نقيق (croaking)
  • انقل الخنفساء إلى موضع عشوائي آخر، ثم انتظر 0.1 ثانية لمنع احتساب التقاط جديد فوراً إذا ظهرت مرة أخرى بالقرب من الضفدع.

في كل مرة يلامس فيها الضفدع الخنفساء، تهرب الخنفساء إلى موضع جديد ويكسب اللاعب نقطة واحدة.

Scratch code for scoring when the frog catches the beetle
4

4. الإعلان عن نهاية اللعبة

يمكنك استخدام المنصة (Stage) أو كائن Pishi أو كائن معلن منفصل لرسائل البداية والنهاية.

 

عند النقر على العلم الأخضر:

  • قل "Start" لمدة ثانية واحدة
  • انتظر حتى يصبح المتغير time مساوياً لـ FINISH
  • قل "!Time’s up"
  • شغّل صوت النهاية

 

يغير المقطع البرمجي (script) الخاص بـ Beetle المتغير time إلى FINISH بعد 15 ثانية. وهذا يُخبر المقطع البرمجي الخاص بـ Frog والمقطع الخاص بالمُعلِن بأن اللعبة قد انتهت.

Scratch code for starting and ending the Frog vs Beetle game

🚀 جرب مشروعك!

انقر على العلم الأخضر وانظر نحو الكاميرا.

 

حرك رأسك لتوجيه الضفدع:

  • حرك رأسك يساراً أو يميناً للتحرك عبر المنصة (Stage).
  • حرك رأسك لأعلى أو لأسفل للوصول إلى الخنفساء.
  • التقط أكبر عدد ممكن من الخنافس قبل انتهاء مؤقت الـ 15 ثانية.
Frog vs Beetle: Control a Scratch Game with Your Face - stage

🤖 كيف يعمل؟

يحلل FaceMesh صورة الكاميرا ويجد نقاطاً تفصيلية على وجهك. يقرأ المشروع إحداثيات landmark 1، وهي النقطة الموجودة عند طرف أنفك.

 

ثم يستخدم الضفدع تلك الإحداثيات لتحديد موضعه على منصة Scratch ‏(Stage).

 

The FaceMesh coordinates are mapped to the Scratch Stage, approximately from −240 to 240 on the X-axis and −180 to 180 on the Y-axis.

 

When the camera preview is mirrored, the X coordinates are flipped to match the movement the player sees on screen.

وجهك

الذكاء الاصطناعي FaceMesh

النقطة المرجعية لطرف الأنف

الإحداثيات X و Y

حركة الضفدع

التقط الخنفساء

💡 اجعله أفضل!

  1. افتح فمك لالتقاط الخنفساء
    بدلاً من التقاط الخنفساء كلما لامست الضفدع، اطلب من اللاعب فتح فمه أيضاً.
    قس المسافة بين:
    • keypoint 0، منتصف الشفة العليا
    • keypoint 17، منتصف الشفة السفلى

    احتسب الخنفساء فقط عندما تكون المسافة بين الشفتين أكبر من العتبة التي اخترتها. يوضح هذا قدرة FaceMesh على قياس هندسة الوجه، وليس فقط تتبع الوجه.

  2. ترميش العين لتفعيل قوة الضفدع
    قس المسافة بين النقاط المرجعية للجفن العلوي والسفلي.
    على سبيل المثال:
    • العين اليمنى: keypoints 159 و 145
    • العين اليسرى: keypoints 386 و 374

    عندما يرمش اللاعب، اجعل الضفدع يتحرك بشكل أسرع أو زِد مؤقتاً حجم منطقة الالتقاط الخاصة به.

  3. إضافة المزيد من الحشرات
    أعطِ كائن Beetle عدة مظاهر (costumes)، مثل:
    • Beetle (خنفساء)
    • Butterfly (فراشة)
    • Fly (ذُبابة)
    • Mosquito (بعوضة)

    غيّر إلى المظهر التالي بعد كل عملية التقاط. يمكنك منح أعداد مختلفة من النقاط للحشرات المختلفة.

  4. إضافة عناصر يجب تجنبها
    أضف نحلة أو عنكبوتاً، واجعل اللاعب يخسر نقطة عندما يلامسه الضفدع.
    هذا يجعل اللعبة أكثر تحدياً لأن اللاعب يجب أن يحرك وجهه بحذر بدلاً من التقاط كل جسم متحرك.

🔗 شارك إبداعك

هل أنهيت مشروعك؟ أضف أفكارك الخاصة وشاركها مع أصدقائك أو زملائك في الفصل.
OPEN PROJECT & REMIX
Scroll to Top