يتحكم#

مقدمة#

تتحكم كتل التحكم في VEXcode VR في تدفق المشروع من خلال معالجة الحلقات والشروط وتأخير تشغيل الكتل.

الحلقة هي عندما يُكرر الحاسوب نفس الخطوة أو مجموعة الخطوات مرارًا وتكرارًا حتى يُعطى أمرًا بالتوقف. الشرط هو قاعدة يتحقق منها الحاسوب لتحديد الخطوة التالية. على سبيل المثال، يمكن للروبوت أن يتحرك للأمام إذا استشعر أحد المستشعرات وجود جسم ما.

فيما يلي قائمة بالكتل المتاحة:

  • wait – يوقف تشغيل الكتل لفترة زمنية محددة.

  • انتظر حتى – يوقف تشغيل الكتل حتى يتم استيفاء شرط محدد.

  • تكرار – يكرر مجموعة من الكتل عددًا محددًا من المرات.

  • forever – تكرار مجموعة من الكتل إلى أجل غير مسمى.

  • كرر حتى – يكرر مجموعة من الكتل حتى يتم استيفاء شرط معين.

  • while – يكرر مجموعة من الكتل طالما أن الشرط يظل صحيحًا.

  • if – يقوم بتشغيل مجموعة من الكتل إذا كان الشرط صحيحًا.

  • if / else – يقوم بتشغيل مجموعة واحدة من الكتل إذا كان الشرط صحيحًا، وإلا يقوم بتشغيل مجموعة أخرى.

  • if / else if / else – يقوم بتشغيل مجموعات مختلفة من الكتل اعتمادًا على شروط متعددة.

  • break – يخرج من حلقة repeat، forever، repeat until، أو while على الفور.

  • إيقاف المشروع – ينهي المشروع.

انتظر#

تقوم كتلة الانتظار بإيقاف تشغيل الكتل لفترة زمنية محددة قبل الانتقال إلى الكتلة التالية.

انتظر كتلة المكدس#
انتظر (1) ثانية

حدود

وصف

وقت

مقدار الوقت الذي يجب انتظاره، كعدد صحيح موجب أو عدد عشري بالثواني.

مثال

عند بدء التشغيل، يتحرك للأمام لمدة ثانية واحدة، ثم يتوقف عن الحركة تماماً.#
عند البدء :: hat events
[Move forward for one second, then stop.]
تشغيل [للأمام v]
انتظر (1) ثانية
إيقاف القيادة

انتظر حتى#

تقوم كتلة انتظر حتى المكدس بإيقاف تشغيل الكتل مؤقتًا حتى يتم استيفاء شرط محدد قبل الانتقال إلى الكتلة التالية.

انتظر حتى يتم حظر المكدس#
انتظر حتى <>

حدود

وصف

حالة

الشرط الذي يجب تحقيقه قبل الانتقال إلى الكتلة التالية.

مثال

عند بدء التشغيل، يتحرك للأمام حتى يتم الضغط على الشاشة، ثم يتوقف عن الحركة تمامًا.#
عند البدء :: hat events
[Move forward until a button is pressed, then stop.]
تشغيل [للأمام v]
انتظر حتى <[LeftBumper v] مضغوط؟>
إيقاف القيادة

يكرر#

تقوم كتلة التكرار C بتشغيل الكتل الموجودة بداخلها عددًا محددًا من المرات.

كرر كتلة c#
كرر [10]
fin

حدود

وصف

أوقات

عدد صحيح يحدد عدد مرات تشغيل كتلة التكرار.

مثال

عند البدء :: hat events
[Move in a square path.]
كرر [4]
تشغيل [للأمام v] لمسافة [150] [مم v] ▶
استدر [يمين v] بمقدار [90] درجة ▶
fin

للأبد#

يستمر المربع C إلى الأبد في تشغيل الكتل الموجودة بداخله مرارًا وتكرارًا دون توقف.

كتلة سي للأبد#
للأبد
fin

حدود

وصف

لا يحتوي هذا الجزء على أي معلمات.

مثال

عند بدء التشغيل، يتحرك باستمرار في مسار مربع عن طريق التحرك للأمام 50 مم والانعطاف يمينًا 90 درجة في حلقة لا نهائية.#
عند البدء :: hat events
[Move in a square path forever.]
للأبد
تشغيل [للأمام v] لمسافة [150] [مم v] ▶
استدر [يمين v] بمقدار [90] درجة ▶
fin

كرر ذلك حتى#

تقوم كتلة تكرار حتى C بتشغيل الكتل الموجودة بداخلها بشكل متكرر طالما لم يتم استيفاء الشرط المحدد.

كرر ذلك حتى الوصول إلى الكتلة#
كرر حتى <>
fin

حدود

وصف

حالة

تعبير أو متغير يتم التحقق منه قبل كل حلقة تكرار. إذا كانت قيمته خطأ، تستمر الكتل في التكرار. أما إذا كانت قيمته صواب، فتتوقف الحلقة.

مثال

عند بدء التشغيل، تبقى جميع مصابيح LED حمراء حتى يتم الضغط على الشاشة، ثم يتم إيقاف تشغيلها.#
عند البدء :: hat events
[Move the pen until the bumper is pressed.]
تشغيل [للأمام v]
كرر حتى <[LeftBumper v] مضغوط؟>
حرك القلم [لأسفل v]
انتظر (0.5) ثانية
حرك القلم [لأعلى v]
انتظر (0.5) ثانية
fin
انتظر (0.5) ثانية
إيقاف القيادة

بينما#

تقوم كتلة while C بتشغيل الكتل الموجودة بداخلها بشكل متكرر طالما تم استيفاء الشرط المحدد.

بينما كتلة ج#
بينما <>
fin

حدود

وصف

حالة

تعبير أو متغير يتم التحقق منه قبل كل دورة. إذا كانت قيمته صحيحة، تستمر الكتل في التكرار. أما إذا كانت قيمته خاطئة، فتتوقف الدورة.

مثال

عند بدء التشغيل، يتحرك للأمام مسافة 200 مم مع بقاء جميع مصابيح LED مضاءة باللون الأخضر. تنطفئ مصابيح LED بعد توقف الحركة.#
عند البدء :: hat events
[Display a message while moving.]
تشغيل [للأمام v] لمسافة [300] [مم v] ◀ ولا تنتظر
بينما <القيادة في حركة؟>
اطبع [Moving...] ▶
انتظر (0.1) ثانية
امسح جميع الصفوف
fin
اطبع [Done!] ▶

لو#

يقوم كتلة if C بتشغيل الكتل الموجودة بداخلها إذا كان الشرط صحيحًا.

شرط if#
إذا <> إذن
fin

حدود

وصف

حالة

تعبير أو متغير يتم التحقق منه عند تنفيذ العبارة. إذا كانت قيمته صحيحة، فسيتم تنفيذ الكتل الموجودة داخل كتلة if. أما إذا كانت قيمته خاطئة، فسيتم تخطي الكتل.

مثال

عند بدء التشغيل، يتحقق الروبوت باستمرار مما إذا كان يتم الضغط على الشاشة. إذا تم الضغط عليها، يقوم الروبوت بركل جسم ما بقوة متوسطة.#
عند البدء :: hat events
[Turn in a circle if the bumper is pressed.]
تشغيل [للأمام v]
للأبد
إذا <[LeftBumper v] مضغوط؟> إذن
تشغيل [للخلف v] لمسافة (200) [مم v] ▶
استدر [يمين v] بمقدار (360) درجة ▶
fin
إيقاف القيادة
fin

إذا / وإلا#

تحدد كتلة if / else C مجموعة الكتل التي يتم تشغيلها بناءً على ما إذا كان الشرط صحيحًا أو خطأً.

كتلة if then else#
إذا <> إذن
وإلا
fin

حدود

وصف

حالة

تعبير أو متغير يتم التحقق منه عند تنفيذ العبارة. إذا كانت قيمته صحيحة، فسيتم تنفيذ الكتل الموجودة داخل كتلة if. أما إذا كانت قيمته خاطئة، فسيتم تنفيذ الكتل الموجودة داخل كتلة else.

مثال

عند بدء التشغيل، يتحقق التطبيق باستمرار مما إذا كانت الشاشة مضغوطة. إذا تم الضغط عليها، يعرض رمزًا تعبيريًا متحمسًا ينظر إلى الأمام؛ وإلا، يعرض رمزًا تعبيريًا يشعر بالملل ينظر إلى الأمام.#
عند البدء :: hat events
[If bumper pressed, reverse and turn right.]
للأبد
إذا <[LeftBumper v] مضغوط؟> إذن
تشغيل [للخلف v] لمسافة (100) [مم v] ▶
استدر [يمين v] بمقدار (90) درجة ▶
وإلا
تشغيل [للأمام v]
fin

إذا / وإلا إذا / وإلا#

تحدد كتلة C القابلة للتوسيع if / else if / else مجموعة الكتل التي يتم تشغيلها بناءً على الشروط:

  • if يقوم بتشغيل كتلة التعليمات البرمجية الخاصة به إذا تم تقييم الشرط على أنه صحيح.

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

  • else يقوم بتشغيل كتلة التعليمات البرمجية الخاصة به فقط إذا لم يتم تقييم أي من الشروط السابقة على أنها صحيحة.

كتلة if else if else#
إذا <> إذن
وإلا إذا <> إذن
وإلا
fin

حدود

وصف

حالة

تعبير أو متغير يتم التحقق منه عند تنفيذ العبارة. الشرط الأول الذي يكون صحيحًا يُنفذ مجموعة الكتل تلك. إذا كانت جميع الشروط خاطئة، فسيتم تنفيذ الكتل الموجودة داخل كتلة else.

مثال

عندما يتغير موضع المحور 1 لوحدة التحكم، فإنه يتحرك للأمام إذا تم دفعه للأمام، ويتحرك للخلف إذا تم سحبه للخلف، ويتوقف عند الوضع المحايد.#
عند البدء :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
للأبد
إذا <[FrontEye v] يكشف [أحمر v]؟> إذن
استدر [يمين v] بمقدار (90) درجة ▶
وإلا إذا <[FrontEye v] يكشف [أخضر v]؟> إذن
استدر [يسار v] بمقدار (90) درجة ▶
وإلا
تشغيل [للأمام v]
fin
fin

استراحة#

تُنهي كتلة break حلقة التكرار فورًا. يمكن استخدام هذه الكتلة داخل كتل repeat وrepeat until وwhile وforever. تُفيد كتلة break عندما تحتاج حلقة التكرار إلى التوقف مبكرًا بناءً على حدثٍ ما أثناء تنفيذ المشروع، مثل الضغط على زر أو استشعار جسمٍ ما بواسطة مستشعر.

كسر كتلة المكدس#
توقف

حدود

وصف

لا يحتوي هذا الجزء على أي معلمات.

مثال

عند بدء التشغيل، تومض مصابيح LED باللونين الأحمر والأخضر كل 0.5 ثانية حتى يتم الضغط على الشاشة، ثم تتوقف.#
عند البدء :: hat events
[Stop turning after a button is pressed.]
للأبد
تشغيل [للأمام v]
إذا <[LeftBumper v] مضغوط؟> إذن
توقف
fin
fin
إيقاف القيادة

مشروع الإيقاف#

تقوم كتلة المكدس stop project بإنهاء مشروع قيد التشغيل.

توقف المشروع#
أوقف المشروع

حدود

وصف

لا يحتوي هذا الجزء على أي معلمات.

مثال

عند بدء التشغيل، تومض مصابيح LED باللونين الأحمر والأخضر كل 0.5 ثانية حتى يتم الضغط على الشاشة، ثم يتوقف المشروع.#
عند البدء :: hat events
[Stop the project entirely after a button is pressed.]
للأبد
تشغيل [للأمام v]
إذا <[LeftBumper v] مضغوط؟> إذن
أوقف المشروع
fin
fin