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

مخرجات التعلم
- حدد أن الكتل غير المنتظرة تستمر حتى لو لم يكتمل سلوك الكتلة بعد.
- حدد أن كتلة الانتظار توقف المكدس مؤقتًا حتى يكتمل سلوك تلك الكتلة.
- حدد أن تسليط الضوء على تنفيذ المشروع يصور الانتظار مقابل الكتل غير المنتظرة.
- حدد أن كتلة [انتظر حتى] هي كتلة تحكم تقبل القيم المنطقية.
- حدد أن كتلة [انتظر حتى] ستتحقق بشكل متكرر من حالة منطقية ولن تنتقل إلى الكتلة التالية حتى يتم الإبلاغ عن الحالة بشكل صحيح.
- حدد أن كتلة [انتظر حتى] يتم استخدامها مع كتلة غير منتظرة (على سبيل المثال القيادة) من أجل التحقق من حالة المستشعر.
- حدد أن <Pressing bumper> الكتلة تبلغ عن قيمة صحيحة أو خاطئة في كتلة [انتظر حتى].
- حدد كيف أن كتلتي [Drive for] و [Turn for] هي كتل خاصة يمكن أن تكون إما في الانتظار أو غير منتظرة.
- صف كيفية إنشاء مشروع يحتوي على محرك روبوت الواقع الافتراضي للأمام حتى يتم الضغط على مستشعر المصد.
اسم المشروع وحفظه
- ابدأ مشروعًا جديدًا في VEXcode VR واسم المشروع Unit4Lesson2.

[انتظر حتى] كتل
كتلة [انتظر حتى] هي كتلة تحكم تقبل الشروط المنطقية. [انتظر حتى] تتحقق الكتل بشكل متكرر من حالة منطقية وتتحكم في تدفق المشروع. لن ينتقل المشروع إلى الكتلة التالية في المكدس حتى تظهر الحالة في تقارير كتلة [انتظر حتى] على أنها صحيحة. يتم استخدام الكتل [انتظر حتى] جنبًا إلى جنب مع الكتل غير المنتظرة مثل [Drive] أو [Turn].
لمعلوماتك
تحدد الكتل غير المنتظرة والكتل المنتظرة متى تبدأ الكتلة التالية السلوك. تقوم كتل الانتظار، مثل [Drive for] و [Turn for]، بإكمال سلوكياتها قبل الانتقال إلى الكتلة التالية في المجموعة. تستمر الكتل غير المنتظرة، مثل [Drive] و [Turn]، في الانتقال إلى الكتلة التالية في المكدس حتى لو لم يكتمل سلوك الكتلة غير المنتظرة.
يمكن أن تكون كتل معينة، مثل [Drive for] و [Turn for] كتل انتظار أو غير انتظار. سيؤدي تحديد السهم الموجود على الكتلة إلى تحويل الكتلة من الانتظار إلى كتلة غير انتظار.

استخدام كتل المفاتيح
تضيف كتلة التبديل غير الانتظارية معلمة "wait=False" في نهاية الكتلة. "wait=False" هو أمر Python الذي يخبر الكتلة بعدم الانتظار والاستمرار في الانتقال إلى الكتل التالية في المكدس.

-
اسحب كتلة [Drive] غير المنتظرة إلى مساحة العمل.

-
قم بإرفاق كتلة [انتظر حتى] أسفل كتلة [Drive].

-
تقبل كتلة [انتظر حتى] الشروط المنطقية. سيستخدم هذا المشروع مستشعر الصدمات للقيادة عبر متاهة الحائط ساحة اللعب. اسحب الكتلة <Pressing bumper> المنطقية إلى كتلة [انتظر حتى].

-
اسحب كتلة [Stop driving] وأضفها إلى المشروع.

- قم بتشغيل Wall Maze Playground إذا لم تكن مفتوحة بالفعل وقم بتشغيل المشروع.
- شاهد محرك روبوت الواقع الافتراضي من بداية متاهة الحائط وتوقف عند الضغط على مستشعر المصد بواسطة الحائط.
-
تسمح كتلة [القيادة] لروبوت الواقع الافتراضي بمواصلة القيادة إلى الأمام أثناء التحقق من حالة مستشعر المصد مع <Pressing bumper> الكتلة. بمجرد أن تكون <Pressing bumper> التقارير صحيحة، سينتقل روبوت الواقع الافتراضي إلى الكتلة التالية في المجموعة ويتوقف عن القيادة.

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

استخدام كتل المفاتيح
هذا هو كتلة التبديل التي تحتوي على الأمر [انتظر حتى] مع <Bumper pressed>
مراسل منطقي. 
while notleft_bumper.pressed (): هو أمر Python الذي يتحقق مما إذا كان المصد الأيسر مضغوطًا حاليًا. الانتظار (5، مللي ثانية) هو أمر Python الذي يوقف تنفيذ الشيك مؤقتًا لمدة 5 مللي ثانية (مللي ثانية)، لذلك يتحقق المشروع مما إذا كان يتم الضغط على المصد الأيسر كل 5 مللي ثانية أم لا. يتم وضع مسافة بادئة لهذا السطر من التعليمات البرمجية أسفل السطر الأول من التعليمات البرمجية لأن هذا الأمر هو السلوك الذي سيتكرر حتى يتم استيفاء الشرط (في هذه الحالة، يتم الضغط على المصد الأيسر). في VEXcode VR، يتم دائمًا إضافة أمر wait مع حلقة شرطية. الغرض من أمر الانتظار هو التأكد من أن VEXcode VR يمكنه تشغيل المشروع بشكل صحيح على النحو المنشود، نظرًا للطبيعة المستندة إلى الويب لمنصة VEXcode VR. لا ينبغي أبدًا حذف أمر wait عند استخدام حلقة شرطية، لأن مشروعك قد لا يعمل كما هو مقصود. بمجرد الضغط على المصد الأيسر، سيتوقف الروبوت عن القيادة.
قم بتحديد زر التالي للمتابعة مع بقية هذا الدرس.