Coding for KidsCoding for Kids
المستويات الإبداعيةالتحدياتدليل المعلم
صوت للميزات
دورة تطوير بايثون المتقدمة
الفصل
>
المستوى

غير متزامن/انتظار
إنشاء رسالة

في بعض الأحيان سترغب في تشغيل كود البايثون الخاص بك بعد استيفاء معيار محدد بدلاً من تشغيل الكود دفعة واحدة، ويمكن تحقيق ذلك باستخدام الدوال غير المتزامنة. اسم هذا النوع من الدوال هو اختصار لكلمة asynchronous، ويتم استدعاؤها عن طريق إضافة تعبير await قبل الدالة.

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

Guide

الهدف

ضع علامات على اللافتات بحيث تعرض رسالة باستخدام دوال await/async.

لا تحتوي اللافتات في المخزن على أي ملصق، فقد وُضِعت المواد مؤخرًا ولم يتم إعدادها. سيكون من الجيد كتابة رسائل على كل ملصق وجمع كافة العناصر التي قمت بمراجعتها باستخدام دالة await/async write().

توجه إلى علامة X المضيئة المواجهة للصناديق واستخدم دالة speak() لتحديد محتويات الصناديق. هناك أربعة (4) ثوابت، واحد لكل صندوق، وهي: green_crate , blue_crate , red_crate , وorange_crate، وهذه تتوافق مع السجاد الملون الموجود أمام كل صندوق.

بمجرد تحديد محتويات الصندوق، استخدم دالة write() لكتابة رسالة على اللافتة. ستحتوي الصناديق على أربعة (4) أنواع مختلفة من الخضروات: "potato" , "onion" , "corn" و"carrot"، قم بكتابتها باستخدام الدالة على هذا النحو: await player.write("potato").

يُضاف رمز await لتحديد الدالة على أنها دالة async. يمكن للدوال من هذا النوع أن تعمل بالتوازي مع عمليات أخرى في الشيفرة. هذا مفيد عندما تريد إيقاف تنفيذ الشيفرة مؤقتًا والانتظار لحدوث شيء معين مثل الضغط على زر أو تلقي أمر من الإنترنت. ولهذا السبب يتم إضافة أمر await، ففي حالة دالة write()، يُستخدم لإيقاف البرنامج مؤقتًا من أجل عرض رسالة.

بمجرد أن تُكتب الرسائل على جميع الصناديق، تَوجه إلى علامة X الذهبية في نهاية المخزن لجمع عدد العناصر في كل صندوق. قم بإنشاء قائمة تحتوي على جميع الثوابت واستخدم دالة write() لكتابة رسالة من أجل إكمال المستوى.

كتاب الكود