الدرس 3: استخدام كتل [If then]
في تحدي متاهة القرص، يتحقق روبوت الواقع الافتراضي من حالة مستشعر العين الأمامي لمعرفة اللون الذي يتم الإبلاغ عنه. يتطابق كل لون من الألوان مع سلوك مختلف يجب أن يؤديه روبوت الواقع الافتراضي.

-
ابدأ مشروعًا جديدًا وأطلق عليه اسم Unit7Lesson3.

-
اسحب كتلة [If then] إلى مساحة العمل وأرفقها بالكتلة [When started].
لمعلوماتك
كتلة [If then] هي كتلة C تقبل كتل المراسل المنطقية كإدخال. باستخدام الأنماط التي لوحظت أثناء حل متاهة القرص في الدرس 2، يمكن إنشاء مشروع حيث يتخذ روبوت الواقع الافتراضي قرارًا إذا كانت الحالة صحيحة أو خاطئة.

سيتم تشغيل كتلة [If then] مرة واحدة في المشروع. في هذا المثال، سيصدر مستشعر العين الأمامي تقريرًا صحيحًا إذا تم اكتشاف كائن أخضر، وينفذ الأمر داخل الكتلة C - انعطف يمينًا لمدة 90 درجة. إذا لم يتم اكتشاف كائن أخضر، سينتقل المشروع إلى الأمر التالي في المكدس.

استخدام كتل المفاتيح
توضح الصورة أدناه عبارة كتلة التبديل [If then] لمشروع مثال الدرس هذا.
يتضمن المشروع أدناه نفس الأوامر التي تم تحويلها إلى كتلة تبديل واحدة.
السطر الأول من التعليمات البرمجية، إذا كانfront_eye.detect (أخضر): هو الحلقة الشرطية التي تتحقق مما إذا كان مستشعر العين الأمامي يكتشف اللون الأخضر. لاحظ أنه يجب أن يكون هناكقولون() في نهاية هذا السطر.
السطر الثاني من التعليمات البرمجية، drivetrain.turn_for(RIGHT, 90, DEGREES) يخبر الروبوت بالانعطاف إلى اليمين بمقدار 90 درجة عندما يكتشف مستشعر العين الأمامي اللون الأخضر. يتم وضع مسافة بادئة على هذا الخط افتراضيًا عند 4 مسافات لأن هذا هو السلوك المحدد الذي سيتم إجراؤه إذا اكتشف مستشعر العين الأمامي اللون الأخضر.

-
اسحب <Color sensing> كتلة إلى مساحة العمل في الإدخال السداسي للكتلة [If then].

-
قم بتغيير معلمة <Color sensing> الكتلة إلى "أخضر".

-
عندما يكتشف مستشعر العين الأمامي قرصًا أخضر، سيحتاج روبوت الواقع الافتراضي إلى الانعطاف يمينًا 90 درجة لبدء حل متاهة القرص. اسحب كتلة [Turn for] إلى كتلة [If then].

-
اتبع هذه الخطوات نفسها لإضافة كتلة [If then] أخرى لجميع الألوان الثلاثة في متاهة القرص (الأخضر والأزرق والأحمر). يرتبط كل لون بسلوك مختلف. ستحتاج الكتل داخل كتلة [If then] إلى مطابقة هذا السلوك المقصود. أضف الكتل التالية إلى المشروع. عندما يكتشف روبوت الواقع الافتراضي اللون "الأزرق"، سينعطف روبوت الواقع الافتراضي يسارًا بزاوية 90 درجة.

-
عندما يصل روبوت الواقع الافتراضي إلى نهاية المتاهة، سيكتشف روبوت الواقع الافتراضي اللون "الأحمر".

-
لإيقاف روبوت الواقع الافتراضي، يجب إضافة كتلة أخرى [إذا كان الأمر كذلك] مع تعليمات حول ما يجب فعله عندما يكتشف روبوت الواقع الافتراضي "الأحمر". أضف الكتل التالية إلى المشروع.

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

-
نظرًا لأن مستشعر العين الأمامي لا يكتشف لونًا في بداية متاهة القرص، فسيحتاج روبوت الواقع الافتراضي إلى التقدم للأمام حتى يكتشف القرص الأخضر. يمكن إضافة كتلة [If then] أخرى لإرشاد روبوت الواقع الافتراضي حول ما يجب فعله عند عدم اكتشاف أي لون.

-
أضف الكتل التالية إلى المشروع. عندما لا يكتشف روبوت الواقع الافتراضي أي لون، فإن روبوت الواقع الافتراضي سوف يتقدم للأمام.

- يحتوي روبوت الواقع الافتراضي الآن على تعليمات لكل لون يتم اكتشافه بواسطة مستشعر العين.
- يكتشف مستشعر العين الأمامية اللون الأخضر ؟
- انعطف يمينًا 90 درجة
- يكتشف مستشعر العين الأمامية اللون الأزرق ؟
- انعطف يسارًا 90 درجة
- يكتشف مستشعر العين الأمامية "أحمر ؟"
- توقف عن القيادة
- يكتشف مستشعر العين الأمامية "لا شيء ؟"
- المضي قدمًا
- يكتشف مستشعر العين الأمامية اللون الأخضر ؟
- افتح Disk Maze Playground وقم بتشغيل المشروع.
قم بتحديد زر التالي للمتابعة مع بقية هذا الدرس.