📚 تصحيح مسار الروبوت في المنطقة الحمراء
المفاهيم الأساسية
Corrections of route (عنصر برمجة): عنصر برمجة جديد يضاف إلى المقطع البرمجي لتصحيح موضع الروبوت بطريقتين مختلفتين اعتمادًا على قيمة عداد (counter) يمكن أن تكون 1 أو 2.
خريطة المفاهيم
```markmap
مشروع برمجة روبوت لتحطيم القلاع
الهدف
برمجة الروبوت لتحطيم القلاع وإسقاط وحدات البناء
المستشعرات المستخدمة
مستشعر العين السفلية
مستشعر المسافة
مستشعر الاصطدام
خوارزمية الحركة (Corrections of route)
الشرط: حتى يكتشف مستشعر العين السفلية اللون الأحمر
#### إذا (مستشعر المسافة يكتشف شيئًا) أو (الضغط على مستشعر الاصطدام الأيسر)
##### التحرك للأمام
#### إذا (الضغط على مستشعر الاصطدام الأيسر فقط أثناء التحرك للأمام)
##### الانعطاف لليسار
#### إذا (لم يكتشف مستشعر المسافة شيئًا) أو (لم يتم الضغط على مستشعر الاصطدام الأيسر)
##### الانعطاف لليمين
تصحيح المسار في المنطقة الحمراء
الشرط: عندما يكون الروبوت في المنطقة الحمراء
#### يجب أن يصحح موضعه حتى لا يسقط من الملعب
#### إضافة عنصر برمجة "Corrections of route"
##### يعتمد التصحيح على قيمة العداد (counter)
###### إذا كانت القيمة 1
###### إذا كانت القيمة 2
بيئة المحاكاة (الشكل 1)
بيانات مستشعرات الروبوت في لحظة معينة
#### العين الأمامية: تكتشف جسمًا (لون: لا شيء)
#### العين السفلية: لا تكتشف جسمًا (لون: أحمر)
#### مقياس المسافة: 1 ملم
#### مفتاح الاصطدام: الأيسر (غير مضغوط)، الأيمن (مضغوط)
#### الموقع والاتجاه: X=550mm, Y=1036mm, الزاوية=71°
اختبار البرنامج
في ملعب ديناميكية قلعة المحطم (Dynamic Castle Crasher)
يتم تغيير مواضع القلاع في الملعب عند كل ضغط على زر التحديث (Refresh)
```
نقاط مهمة
- عندما يكتشف الروبوت أنه في المنطقة الحمراء، يجب أن يصحح موضعه فورًا لمنع سقوطه من الملعب.
- يتم إضافة عنصر برمجة جديد اسمه Corrections of route إلى المقطع البرمجي لتنفيذ عملية التصحيح.
- يعمل عنصر التصحيح بطريقتين مختلفتين، ويتم اختيار الطريقة بناءً على قيمة متغير يسمى counter (إما 1 أو 2).
- يمكن اختبار المقطع البرمجي في بيئة محاكاة تسمى Dynamic Castle Crasher، حيث تتغير مواضع القلاع تلقائيًا عند كل تحديث للملعب.