नियंत्रण#

परिचय#

VEXcode AIR में कंट्रोल ब्लॉक लूप, कंडीशन को हैंडल करके और ब्लॉक को चलने से रोककर प्रोजेक्ट के फ्लो को मैनेज करते हैं।

लूप वह स्थिति है जब कंप्यूटर एक ही चरण या चरणों के समूह को तब तक बार-बार दोहराता है जब तक उसे रुकने का निर्देश नहीं दिया जाता। कंडीशन वह नियम है जिसकी जाँच कंप्यूटर यह तय करने के लिए करता है कि आगे क्या करना है। उदाहरण के लिए, कंट्रोलर का बटन दबाने पर ड्रोन आगे की ओर उड़ सकता है।

नीचे उपलब्ध ब्लॉकों की सूची दी गई है:

  • प्रतीक्षा — एक विशिष्ट अवधि के लिए ब्लॉकों को चलने से रोकता है।

  • इंतज़ार करो — निर्दिष्ट शर्त पूरी होने तक ब्लॉक को चलने से रोकता है।

  • repeat — ब्लॉकों के एक सेट को एक विशिष्ट संख्या में दोहराता है।

  • हमेशा — ब्लॉकों के एक सेट को अनिश्चित काल तक दोहराता है।

  • repeat until — एक शर्त पूरी होने तक ब्लॉकों के एक सेट को दोहराता है।

  • while — एक शर्त सही रहने तक ब्लॉकों के एक सेट को दोहराता है।

  • अगर — यदि कोई शर्त सही है तो ब्लॉकों का एक सेट चलाता है।

  • अगर / अन्यथा — यदि कोई शर्त सही है तो ब्लॉकों का एक सेट चलाता है, अन्यथा दूसरा चलाता है।

  • अगर / अन्यथा अगर / अन्यथा — कई शर्तों के आधार पर ब्लॉक के अलग-अलग सेट चलाता है।

  • ब्रेक — लूप से तुरंत बाहर निकलता है।

  • प्रोजेक्ट रोकें — प्रोजेक्ट समाप्त करता है।

इंतज़ार#

वेट स्टैक ब्लॉक अगले ब्लॉक पर जाने से पहले एक निश्चित समय के लिए ब्लॉकों को चलने से रोक देता है।

प्रतीक्षा स्टैक ब्लॉक#
(1) सेकंड प्रतीक्षा करें

पैरामीटर

विवरण

समय

प्रतीक्षा करने का समय, धनात्मक पूर्णांक या दशमलव संख्या के रूप में सेकंड में।

उदाहरण

जब शुरू हो
[Fly for 1 second.]
(500) [mm v] की ऊंचाई पर उड़ान भरें ▶
[1] सेकंड प्रतीक्षा करें
उतरें ▶

जब तक इंतजार#

वेट अंटिल स्टैक ब्लॉक, निर्दिष्ट शर्त पूरी होने तक ब्लॉकों को चलने से रोकता है, उसके बाद ही अगले ब्लॉक पर जाता है।

स्टैक ब्लॉक तक प्रतीक्षा करें#
<> होने तक प्रतीक्षा करें

पैरामीटर

विवरण

स्थिति

अगले ब्लॉक पर जाने से पहले जिस शर्त को पूरा करना आवश्यक है। यदि इसका मान निम्न है:

  • गलत - प्रतीक्षा जारी रहती है
  • सही - प्रतीक्षा समाप्त होती है और अगले ब्लॉक पर चले जाते हैं

उदाहरण

जब शुरू हो
[Hover at 200 mm.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
[नीचे v] दिशा में चढ़ें
<(distance [downward v] range in [mm v]) [math_less_than v] [200]> होने तक प्रतीक्षा करें
होवर
(3) सेकंड प्रतीक्षा करें
उतरें ▶

दोहराना#

रिपीट सी ब्लॉक अपने अंदर के ब्लॉकों को एक निश्चित संख्या में बार-बार चलाता है।

सी ब्लॉक को दोहराएँ#
[10] बार दोहराएं
अंत

पैरामीटर

विवरण

टाइम्स

एक पूर्ण संख्या जो यह निर्धारित करती है कि रिपीट ब्लॉक कितनी बार चलेगा।

उदाहरण

जब शुरू हो
[Move back and forth four times then land.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
(4) बार दोहराएं
[आगे v] दिशा में (500) [mm v] जाएं ▶
(1) सेकंड प्रतीक्षा करें
[backward v] दिशा में (500) [mm v] जाएं ▶
(1) सेकंड प्रतीक्षा करें
अंत
उतरें ▶

हमेशा के लिए#

यह हमेशा चलने वाला सी ब्लॉक अपने अंदर के ब्लॉकों को बिना रुके बार-बार चलाता रहता है।

हमेशा के लिए सी ब्लॉक#
हमेशा
अंत

पैरामीटर

विवरण

इस ब्लॉक में कोई पैरामीटर नहीं है।

उदाहरण

जब शुरू हो
[Move with controller.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
हमेशा
कंट्रोलर से चलाएं
अंत

दोहराओ जब तक#

रिपीट अंटिल ब्लॉक निर्दिष्ट शर्त पूरी न होने तक इसके अंदर के ब्लॉकों को बार-बार चलाता है।

ब्लॉक होने तक दोहराएँ#
<> होने तक दोहराएं
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच प्रत्येक लूप से पहले की जाती है। यदि यह False है, तो लूप दोहराना जारी रहता है। यदि यह True है, तो लूप रुक जाता है।

उदाहरण

जब शुरू हो
[Move with controller until button 7 is pressed.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
<कंट्रोलर बटन [7 v] दबाया गया?> होने तक दोहराएं
कंट्रोलर से चलाएं
अंत
उतरें ▶

जबकि#

while C ब्लॉक निर्दिष्ट शर्त पूरी होने तक अंदर के ब्लॉकों को बार-बार चलाता है।

जबकि सी ब्लॉक#
जबकि <>
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच प्रत्येक लूप से पहले की जाती है। यदि यह True है, तो ब्लॉक दोहराते रहते हैं। यदि यह False है, तो लूप रुक जाएगा।

उदाहरण

जब शुरू हो
[Hover at 200 mm.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
जबकि <(distance [downward v] range in [mm v]) [math_greater_than v] [200]>
[नीचे v] दिशा में चढ़ें
अंत
होवर
(3) सेकंड प्रतीक्षा करें
उतरें ▶

अगर#

if ब्लॉक के भीतर के ब्लॉक तभी चलते हैं जब शर्त True होती है।

यदि ब्लॉक#
यदि <> तो
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। यदि यह True है, तो if ब्लॉक के अंदर के ब्लॉक चलेंगे। यदि यह False है, तो ब्लॉक छोड़ दिए जाएँगे।

उदाहरण

जब शुरू हो
[Take a picture when button 5 is pressed.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
हमेशा
कंट्रोलर से चलाएं
यदि <कंट्रोलर बटन [5 v] दबाया गया?> तो
[आगे v] कैमरे पर इमेज कैप्चर करें
अंत
अंत

यदि / अन्यथा#

if / else C ब्लॉक यह निर्धारित करता है कि शर्त True है या False, इसके आधार पर ब्लॉकों का कौन सा सेट चलेगा।

यदि तब अन्यथा ब्लॉक#
यदि <> तो
अन्यथा
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। यदि यह True है, तो if ब्लॉक के अंदर के ब्लॉक चलेंगे। यदि यह False है, तो else ब्लॉक के अंदर के ब्लॉक चलेंगे।

उदाहरण

जब शुरू हो
[Climb when the left joystick is moved up.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
हमेशा
यदि <(कंट्रोलर अक्ष [1 v] स्थिति) [math_greater_than v] [0]> तो
[ऊपर v] दिशा में चढ़ें
अन्यथा
होवर
अंत

यदि / अन्यथा यदि / अन्यथा#

if / else if / else विस्तार योग्य C ब्लॉक शर्तों के आधार पर यह चयन करता है कि ब्लॉकों का कौन सा सेट चलेगा:

  • if अपने कोड के ब्लॉक को तब चलाता है जब शर्त True के रूप में मूल्यांकित होती है।

  • else if अतिरिक्त शर्तों की जाँच तभी करता है जब पिछली सभी शर्तें गलत साबित हों। एकाधिक else if कथनों का उपयोग किया जा सकता है।

  • else अपने कोड के ब्लॉक को तभी चलाता है जब पिछली कोई भी शर्त True के रूप में मूल्यांकित नहीं होती है।

यदि अन्यथा यदि अन्यथा ब्लॉक#
यदि <> तो
अन्यथा यदि <> तो
अन्यथा
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। पहली शर्त जो सही होती है, वह ब्लॉक्स के उस सेट को चलाती है। यदि सभी शर्तें गलत साबित होती हैं, तो एल्स ब्लॉक के अंदर के ब्लॉक्स चलेंगे।

उदाहरण

जब शुरू हो
[Move the drone up or down based on the position of the joystick.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
हमेशा
यदि <(कंट्रोलर अक्ष [1 v] स्थिति) [math_greater_than v] [0]> तो
[आगे v] दिशा में चलें
अन्यथा यदि <(कंट्रोलर अक्ष [1 v] स्थिति) [math_less_than v] [0]> तो
[पीछे v] दिशा में चलें
अन्यथा
होवर
अंत
अंत

तोड़ना#

ब्रेक स्टैक ब्लॉक लूप से तुरंत बाहर निकल जाता है। इस ब्लॉक का उपयोग रिपीट, रिपीट अंटिल, व्हाइल और फॉरएवर ब्लॉकों के भीतर किया जा सकता है। ब्रेक तब उपयोगी होता है जब प्रोजेक्ट के दौरान किसी घटना के आधार पर लूप को समय से पहले रोकना आवश्यक हो, जैसे कि बटन दबाना या सेंसर द्वारा किसी वस्तु का पता लगाना।

स्टैक ब्लॉक तोड़ें#
ब्रेक

पैरामीटर

विवरण

इस ब्लॉक में कोई पैरामीटर नहीं है।

उदाहरण

जब शुरू हो
[Land when button 5 is pressed.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
हमेशा
कंट्रोलर से चलाएं
यदि <कंट्रोलर बटन [5 v] दबाया गया?> तो
ब्रेक
अंत
अंत
उतरें ▶

परियोजना रोकें#

स्टॉप प्रोजेक्ट स्टैक ब्लॉक चल रहे प्रोजेक्ट को समाप्त करता है।

प्रोजेक्ट ब्लॉक रोकें#
प्रोजेक्ट बंद करें :: control cap

पैरामीटर

विवरण

इस ब्लॉक में कोई पैरामीटर नहीं है।

उदाहरण

जब शुरू हो
[Stop motors after landing.]
[500] [mm v] की ऊंचाई पर उड़ान भरें ▶
[1] सेकंड प्रतीक्षा करें
उतरें ▶
प्रोजेक्ट बंद करें