नियंत्रण#

परिचय#

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

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

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

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

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

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

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

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

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

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

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

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

  • 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] दबाया गया?> होने तक प्रतीक्षा करें
चलाना बंद करें

दोहराना#

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

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

पैरामीटर

विवरण

टाइम्स

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

उदाहरण

जब शुरू हो :: hat events
[Move in a square path.]
[4] बार दोहराएं
[आगे v] दिशा में [150] [mm v] चलाएं ▶
[दाएं v] दिशा में [90] डिग्री मुड़ें ▶
अंत

हमेशा के लिए#

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

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

पैरामीटर

विवरण

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

उदाहरण

शुरू होने पर, यह एक वर्गाकार पथ पर लगातार 50 मिमी आगे बढ़ता है और 90 डिग्री दाएं मुड़ता है, जो एक अनंत लूप में घूमता रहता है।#
जब शुरू हो :: hat events
[Move in a square path forever.]
हमेशा
[आगे v] दिशा में [150] [mm v] चलाएं ▶
[दाएं v] दिशा में [90] डिग्री मुड़ें ▶
अंत

दोहराओ जब तक#

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

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

पैरामीटर

विवरण

स्थिति

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

उदाहरण

शुरू होने पर, स्क्रीन को दबाए जाने तक सभी एलईडी लाल रंग में जलती रहती हैं, फिर उन्हें बंद कर देती हैं।#
जब शुरू हो :: hat events
[Move the pen until the bumper is pressed.]
[आगे v] दिशा में चलाएं
<[LeftBumper v] दबाया गया?> होने तक दोहराएं
पेन मूव [नीचे v]
(0.5) सेकंड प्रतीक्षा करें
पेन मूव [ऊपर v]
(0.5) सेकंड प्रतीक्षा करें
अंत
(0.5) सेकंड प्रतीक्षा करें
चलाना बंद करें

जबकि#

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

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

पैरामीटर

विवरण

स्थिति

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

उदाहरण

शुरू होने पर, सभी एलईडी को हरा रखते हुए यह 200 मिमी आगे बढ़ता है। गति रुकने के बाद एलईडी बंद हो जाती हैं।#
जब शुरू हो :: hat events
[Display a message while moving.]
[आगे v] दिशा में [300] [mm v] चलाएं ◀ और प्रतीक्षा न करें
जबकि <ड्राइव चल रही है?>
[Moving...] प्रिंट करें ▶
(0.1) सेकंड प्रतीक्षा करें
सभी पंक्तियां साफ़ करें
अंत
[Done!] प्रिंट करें ▶

अगर#

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

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

पैरामीटर

विवरण

स्थिति

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

उदाहरण

शुरू होने पर, रोबोट लगातार जाँच करता है कि स्क्रीन दबाई गई है या नहीं। यदि दबाई गई है, तो रोबोट मध्यम बल से किसी वस्तु को लात मारता है।#
जब शुरू हो :: hat events
[Turn in a circle if the bumper is pressed.]
[आगे v] दिशा में चलाएं
हमेशा
यदि <[LeftBumper v] दबाया गया?> तो
[पीछे v] दिशा में (200) [mm v] चलाएं ▶
[दाएं v] दिशा में (360) डिग्री मुड़ें ▶
अंत
चलाना बंद करें
अंत

यदि / अन्यथा#

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

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

पैरामीटर

विवरण

स्थिति

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

उदाहरण

शुरू होने पर, यह लगातार जाँचता रहता है कि स्क्रीन दबाई गई है या नहीं। यदि दबाई गई है, तो आगे की ओर देखता हुआ एक उत्साहित इमोजी प्रदर्शित होता है; अन्यथा, आगे की ओर देखता हुआ एक ऊबा हुआ इमोजी प्रदर्शित होता है।#
जब शुरू हो :: hat events
[If bumper pressed, reverse and turn right.]
हमेशा
यदि <[LeftBumper v] दबाया गया?> तो
[पीछे v] दिशा में (100) [mm v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
अन्यथा
[आगे v] दिशा में चलाएं
अंत

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

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

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

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

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

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

पैरामीटर

विवरण

स्थिति

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

उदाहरण

जब नियंत्रक की अक्ष 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] दिशा में चलाएं
अंत
अंत

तोड़ना#

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

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

पैरामीटर

विवरण

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

उदाहरण

शुरू होने पर, स्क्रीन को दबाए जाने तक हर 0.5 सेकंड में लाल और हरी एलईडी जलती-बुझती हैं, फिर बंद हो जाती हैं।#
जब शुरू हो :: hat events
[Stop turning after a button is pressed.]
हमेशा
[आगे v] दिशा में चलाएं
यदि <[LeftBumper v] दबाया गया?> तो
ब्रेक
अंत
अंत
चलाना बंद करें

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

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

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

पैरामीटर

विवरण

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

उदाहरण

शुरू होने पर, स्क्रीन को दबाए जाने तक हर 0.5 सेकंड में लाल और हरी एलईडी जलती-बुझती हैं, फिर प्रोजेक्ट बंद हो जाता है।#
जब शुरू हो :: hat events
[Stop the project entirely after a button is pressed.]
हमेशा
[आगे v] दिशा में चलाएं
यदि <[LeftBumper v] दबाया गया?> तो
प्रोजेक्ट बंद करें
अंत
अंत