Skip to main content

The Tunnel Maze

استخدم كتل [Drive] و [Turn for]، ومستشعر المسافة الأمامية، ومستشعر العين السفلي لتحريك روبوت الواقع الافتراضي من نقطة البداية (المربع الأخضر) إلى نقطة النهاية (المربع الأحمر) في ملعب Maze+.

  • اختر ملعب متاهة الجدران+.
  • قم بتنزيل الملف .vrmaze من  وقم بتحميل المتاهة في Playground.
  • قم ببرمجة روبوت الواقع الافتراضي ليتحرك من نقطة البداية (المربع الأخضر) إلى نقطة النهاية (المربع الأحمر).
    • قم بإنشاء خوارزمية لاستخدام مستشعر المسافة الأمامي لتوجيه روبوت الواقع الافتراضي أثناء تحركه في المتاهة دون الاصطدام بالجدار.
    • استخدم مستشعر العين السفلي للتحقق من اللون الأحمر لتحديد ما إذا كان روبوت الواقع الافتراضي قد وصل إلى الموضع النهائي.
    • استخدم كتلة [Forever] للحفاظ على حركة روبوت الواقع الافتراضي باستمرار في المتاهة، واحرص على أن يقوم مستشعر العين السفلي بالتحقق باستمرار من موضع النهاية لإيقاف الروبوت.

نصائح مفيدة

  • استخدم المربع Down Eye detects من فئة الاستشعار للإبلاغ عما إذا كان مستشعر Down Eye يكتشف لونًا معينًا.

    وحدة استشعار الألوان VEXcode التي تقرأ 'هل يكتشف DownEye اللون الأحمر؟'.

    • أمر بايثون المطابق:

      down_eye.detect(RED)
  • استخدم مستشعر المسافة الأمامي لتحديد ما إذا كان روبوت الواقع الافتراضي يقترب من الجدار. استخدم كتلة المقارنة أقل من من فئة المشغلين للإبلاغ عما إذا كانت المسافة بين روبوت الواقع الافتراضي وجدار المتاهة أقل من قيمة عتبة لتحديد ما إذا كان روبوت الواقع الافتراضي يقترب من الجدار.

    VEXcode أقل من كتلة تحتوي على مسافة من كتلة تقرأ معًا 'المسافة الأمامية بالمليمتر < 200'.

    • أمر بايثون المطابق:

      front_distance.get_distance(MM) < 200
  • استخدم كتلة إذا ثم وإلا من فئة التحكم للتحقق مما إذا كان روبوت الواقع الافتراضي يقترب من الجدار، وقم بتشغيل الكود لتنفيذ سلوكيات مختلفة بناءً على الشرط المنطقي. إذا كانت الحالة المنطقية صحيح، فسيتم تشغيل الكتل الموجودة داخل القسم إذا . إذا كانت الحالة المنطقية خطأ، فسيتم تشغيل الكتل الموجودة داخل القسم وإلا .

    كتلة VEXcode فارغة من نوع If then else تقرأ 'إذا كان كذلك، وإلا'.

    • أمر بايثون المطابق:

      إذا تحقق الشرط:
      	مرر
      وإلا:
      	، مرر
  • استخدم break block من فئة التحكم للخروج من حلقة متكررة على الفور.

    VEXcode Break block that reads 'break'.

    • أمر بايثون المطابق:

      استراحة