Skip to main content

Minos' Labyrinth

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

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

نصائح مفيدة

  • للحصول على مزيد من المعلومات حول ميزات VR MazeBot في VEXcode VR، على هذه. 
  • استخدم Down Eye detects block من فئة الاستشعار إلى الإبلاغ إذا اكتشف مستشعر Down Eye لونًا معينًا.

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

    • أمر بايثون المطابق:
    down_eye.detect(RED)

                 

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

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

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

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

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

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

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

      إذا تحقق الشرط:
      	مرر
      وإلا:
      	، مرر