اذهب إلى المحتوى

برمجة لعبة اليعسوب آكل الحشرات باستخدام سكراتش


أروى عفان

سنعمل في هذا المشروع على إنشاء لعبة بسيطة يزداد فيها حجم حشرة اليعسوب عندما تأكل الحشرات الصغيرة، وذلك باستخدام سكراتش scratch.

سننفذ في هذا المشروع ما يلي:

  • استخدام كتل الاستشعار وكتل العمليات الرياضية مع كتل إذا الشرطية.
  • استخدام أعداد عشوائية لتحريك الكائنات.
  • استخدام المحرر لتعديل الأصوات.

وذلك لنحصل على نتيجة مشابهة لما يلي:

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

معلومة: نستخدم الشروط دائمًا في حياتنا اليومية عند اتخاذنا القرارات، كأن نقول "إذا كان قلم الرصاص غير حاد، فاشحذه باستخدام المبّراة". يمكننا في سكراتش استخدام كتلة إذا الشرطية لتنفيذ أمر مختلف عند تحقق الشرط وعند عدم تحققه.

إعداد المشهد

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

set-the-scene.png

اقتباس

هل تعلم أن حشرة اليعسوب منتشرةٌ في جميع أنحاء العالم وهي موجودةٌ منذ أكثر من 300 مليون سنة؟

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

ثانيًا، انقر على أيقونة اختيار خلفية واختر خلفيةً مناسبةً للمشهد. للحصول على الخلفية التي استخدمناها في هذا المقال، واكتب "Jurassic" في مربع البحث.

 

ثالثًا، انقر على أيقونة اختيار كائن واكتب "dragonfly" في مربع البحث للحصول على كائن اليعسوب Dragonfly.

DragonflySprite.jpg

رابعًا، أضف الكتل التالية لجعل اليعسوب يتبع حركة مؤشر الفأرة:

Block1.jpg

انقر على العلم الأخضر واختبر هل يتبع اليعسوب حركة مؤشر الفأرة بسلاسة. لاحظ أن رأس اليعسوب لا يتبع حركة مؤشر الفأرة، سنعمل على إصلاح ذلك.

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

rotated-costume.png

انقر على العلم الأخضر ولاحظ الفرق في حركة اليعسوب الآن.

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

sounds.png

سابعًا، اختر الصوت الذي تراه مناسبًا من خلال وضع مؤشر الفأرة على الصوت لسماعه. اخترنا في مثالنا الصوت Crank المماثل لصوت رفرفة أجنحة اليعسوب. اكتب "Crank" في مربع البحث ثم انقر على الصوت لإضافته للكائن.

PreviewSounds.png

انقر بعدها على زر التشغيل لسماع الصوت. لاحظ أن الصوت بحاجة إلى تعديل.

ثامنًا، حدِّد نهاية مقطع الصوت باستخدام مؤشر الفأرة، ثم انقر على خيار النسخ إلى صوت جديد للحصول على مقطع صوتي جديد:

CopySound.png

ثم سمِّ المقطع باسمٍ مناسب.

تاسعًا، انقر على خيار تسريع عدة مرات لتسريع الصوت حتى تحصل على نتيجة مناسبة.

FasterButton.png

كما يمكنك تحديد نهاية المقطع الصوتي وحذفها بالنقر على خيار الحذف:

DeleteSound.png

عاشرًا، أضف كتلة ابدأ الصوت من كتل الأصوات لتشغيل صوت الأجنحة، كما يلي:

Block2.png

أخيرًا، انقر على العلم الأخضر واختبر حركة اليعسوب، ولا تنسى حفظ المشروع.

إضافة الحشرات الصغيرة

سنضيف في هذه الخطوة ذبابةً كي يأكلها اليعسوب ويتغذى عليها.

fly-to-eat.png

هل تعلم أن الشخصيات المتحركة في الألعاب تدعى mobs اختصارًا لكلمة mobile باللغة الانجليزية، أي متحرك. ما هي الألعاب التي تعرفها والتي تحتوي على شخصيات المتحركة؟

أولًا، أضف كائن الضفدع من مكتبة الكائنات بكتابة "Frog 2" في مربع البحث.

Frog2.png

ثانيًا، انقر على نافذة المظاهر ثم حدِّد الذبابة باستخدام أداة التحديد وانقر بعدها على خيارالنسخ:

frog_fly.png

ثالثًا، انقر على خيار الرسام من أيقونة الكائنات، ثم انقر على خيار اللصق واسحب الذبابة إلى المنتصف فوق المؤشر الرمادي.

paint.png

رابعًا، أعد تسمية المظهر باسمٍ مناسب، واحذف المظهر الآخر الذي يحتوي على الضفدع.

خامسًا، كبِّر حجم الذبابة كي يسهل عليك رؤيتها والتقاطها.

insect-size.png

سادسًا، انتقل إلى نافذة المقاطع البرمجية لإضافة الكتل اللازمة لتحريك الذبابة:

Block3.png

تُوجِّه كتلة ارتد إذا كنت عند الحافة الكائن نحو اتجاهٍ آخر عندما يصل إلى حافة المنصة.

سابعًا، أضف كتلة إذا التالية لإخفاء الذبابة عندما يأكلها اليعسوب:

Block4.png

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

سابعًا، اسحب كتلة ملامس ل من كتل الاستشعار وضعها شرطًا لكتلة إذا، واختر كائن اليعسوب من النافذة المنسدلة للكتلة، ثم اسحب كتلة اختفِ وضعها داخل كتلة إذا.

Block5.png

انقر على العلم الأخضر واختبر البرنامج، هل تختفي الذبابة عندما يأكلها اليعسوب ؟

لن يكبر اليعسوب إذا أكل ذبابة واحدة فقط.

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

Block6.png

انقر على العلم الأخضر واختبر البرنامج، هل يزداد عدد الذباب على المنصة؟

يمكنك النقر على زر الإيقاف الأحمر حتى لا تنزعج من صوت رفرفة أجنحة اليعسوب ريثما تنهي المشروع.

لا تنسى حفظ المشروع.

زيادة حجم اليعسوب

سنعمل في هذه الخطوة على جعل حجم اليعسوب يزداد عندما يأكل الذباب حتى يصل إلى حجم معين.

result.png

هل تعلم أن أكبر حشرات اليعسوب توجد في أمريكا الوسطى ويبلغ طول جناحيها 19 سم (أي أكبر من حجم يدك بقليل)، وأن أكبر حشرةٍ معروفةٍ في التاريخ هي حشرة يعسوب تدعى Meganeuropsis permiana ويبلغ طول جناحيها حوالي 75 سم (أي بحجم خطوة كبيرة).

يجب علينا إضافة كتلة بث كما في مشروع التعاويذ السحرية، والتي تعمل على إرسال رسالة إلى الكائن لينفذ بعدها أمرًا ما، ففي مثالنا تُضاف كتلة بث إلى الذباب كي يستلم اليعسوب الرسالة ويزداد حجمه عندما يأكل الذباب.

أولًا، أضف كتلة بث من كتل الأحداث على كائن الذبابة Insect، وانقر على النافذة المنسدلة للكتلة لإضافة رسالةٍ جديدة، سمِّ الرسالة باسمٍ مناسب، "طعام"، أو "Food"مثلًا:

Block7.png

ثانيًا، أضف الكتل التالية إلى اليعسوب كي يزداد حجمه عندما يستلم رسالة البث، أي عندما يأكل الذباب:

Block8.png

ثالثًا، أضف الصوت "Chomp" إلى اليعسوب كي يصدر صوتًا عندما يأكل الذباب:

Block9.png

شغِّل المشروع واختبر هل يكبر اليعسوب عندما يأكل الذباب؟ وهل يصدر صوتًا؟

رابعًا، تنتهي لعبتنا عندما يصل اليعسوب إلى حجم معين، أي عندما يصبح الحجم مساويًا 100%، لذلك أضف كتلة إذا لتحقيق ذلك. اسحب كتلة المساواة = من كتل العمليات إلى داخل معيَّن شرط إذا:

Block10.png

ثم اسحب متحول الحجم من كتل الهيئة إلى شرط إذا وغير قيمة الحجم إلى 100:

Block11.png

خامسًا، أضف الكتل التالية بحيث يُظهر اليعسوب رسالة "لقد أصبت بالتخمة!" عندما يتحقق شرط كتلة إذا ويصل إلى الحجم الكامل:

Block12.png

لا تنسى إضافة كتلة أوقف واختر إيقاف المقاطع البرمجية الأخرى في الكائن من القائمة المنسدلة للكتلة.

سادسًا، أضف الكتل التالية ليتوقف الذباب عن الحركة عند انتهاء المشروع:

Block13.png

وأخيرًا، انقر على العلم الأخضر والعب حتى يصل اليعسوب إلى حد الشبع، ولا تنسى حفظ المشروع.

تحسين حركة اليعسوب

لاحظ أن اليعسوب "يرتجف" ويغير اتجاهه بسرعة كبيرة إذا كان مؤشر الفأرة يلامس جسم اليعسوب. سنعمل في هذه الخطوة على تحسين حركة اليعسوب باستخدام كتلة إذا.

improved-movement.png

أولًا، أضف كتلة إذا على كائن اليعسوب، بحيث تصبح الكتل الموجودة في كتلة التكرار داخل كتلة إذا، لتحصل على النتيجة التالية:

Block14.png

ثانيًا، أضف كتلة ليس من قائمة كتل العمليات وكتلة ملامس لمؤشر الفأرة من كتل الاستشعار على شرط إذا، كما يلي:

Block15.png

إذا لم يكن اليعسوب ملامسًا لمؤشر الفأرة، سيصدر صوت الأجنحة ويتحرك اليعسوب 5 خطوات باتجاه مؤشر الفأرة.

شغِّل المشروع واختبر هل أصبح اليعسوب يتحرك بسلاسة؟

يمكنك تجريب الكتلة التالية لتحسين حركة اليعسوب:

Block16.png

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

لا تنسى أنه بإمكانك سحب الكتل بعيدًا عوضًا عن حذفها، عند تجريب عمل الكتل الأخرى.

إضافة مزيد من الحشرات

سنعمل في هذه الخطوة على إضافة مزيدٍ من الحشرات كي يتغذى عليها اليعسوب.

more-food.png

أولًا، انقر بزر الفأرة الأيمن على كائن الذبابة، ثم انقر على خيار المضاعفة.

duplicate.png

ثانيًا، غيّر شكل الذبابة إما بإضافة كائن آخر من مكتبة الكائنات، أو بالنقر على نافذة المظاهر، واستخدام أداة ملء اللون لتغيير لون الذبابة، أو التعديل على شكلها في محرر الرسام.

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

ثالثًا، انقر على كائن اليعسوب ثم انقر على نافذة المظاهر ثم غيّر لون فم اليعسوب باستخدام أداة ملء اللون إلى اللون الأرجواني:

fill-color.png

رابعًا، انقر على كائن الذبابة الجديدة، ثم أضِف كتلة و من كتل العمليات على كتلة إذا، وكذلك أضف كتلة ملامس لـ من كتل الاستشعار، وعدِّل الخيار من النافذة المنسدلة إلى اليعسوب:

Block17.png

خامسًا، أضف كتلة ملامس للون إلى شرط كتلة إذا وعلى يمين كتلة و :

Block18.png

إذا لم يُحدَّد لون فم اليعسوب ، استخدام أداة القطارة Eyedropper لتحديد لونٍ له.

ColorPicker.png

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

colour-select.png

نفِّذ الخطوتين السابقتين على كائن الذبابة الأولى.

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

 إضافة حركة عشوائية للذباب

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

random-movement.png

أضف الكتل التالية لجعل الذبابة الثانية تتحرك عشوائيًا خلال فترات متفاوتة من ثانية إلى ثلاث ثوان:

Block19.png

شغِّل المشروع واختبر حركة الذباب، غيِّر الأرقام حتى تحصل على تأثير الحركة الذي تريد وزيادة أو إنقاص سرعة الحركة، كما يمكن تغيير سرعة اليعسوب، ويمكنك أيضًا نسخ تأثير الحركة إلى كائن الذبابة الأولى.

ترقية المشروع

أضف مزيدًا من الحشرات إلى لعبتك وغيِّر مظهرها وزد من سرعتها، عدّل على مظهر المشروع، وطوّر لعبتك كما يحلو لك.

upgrade-project.png

يمكنك إضافة الرموز التعبيرية على مشروعك، بالنقر على أداة النص في نافذة المظاهر ثم الاستعانة بالاختصارات التالية وفقًا لنظام التشغيل المستخدم في جهازك:

  • نظام ويندوز: انقر من لوحة المفاتيح على مفتاح الويندوز ومفتاح رمز النقطة "."
  • نظام ماك أو إس MacOS: انقر على مفتاح المسافة ومفتاحي cmd و ctrl.
  • نظام لينكس: انقر على مفتاحي ctrl والنقطة ".".

emojies.png

ثانيًا، انقر على الرمز التعبيري للذبابة لإضافته إلى الرسام. ثم استخدم أداة التحديد لتغيير موضع وحجم رمز الذبابة.

emoji-mosquito.png

قد تختلف الرموز التعبيرية من جهازٍ لآخر، وخاصةً بين الحواسيب المكتبية واللوحية، وقد لا تتوفر بعض الرموز على الحواسيب القديمة على عكس الحواسيب الحديثة.

احرص على تسمية الكائنات والمظاهر بأسماء معبِّرة ليسهل عليك التعامل مع المشروع وفهم عمله لاحقًا.

اضغط بزر الفأرة الأيمن على نافذة المقاطع البرمجية، ثم انقر على خيار ترتيب الكتل للحصول على نافذة عمل مرتبة.

يمكنك الاطلاع على المشروع كاملًا في نسخة المتصفح ومشاهدة الكتل المستخدمة.

خاتمة

بهذا تكون قد أتممت مشروع إنشاء لعبة اليعسوب أكل الحشرات باستخدام سكراتش.

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

ترجمة -وبتصرف- للمقال Find the Bug من الموقع الرسمي لراسبيري باي.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...