Skip to main content

पाठ 3: नंबर '31' तक ड्राइव करें

इस पाठ में, वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंडपर नंबर '31' तक जाएगा और फिर वापस नंबर '1' पर आएगा!

नंबर ग्रिड मैप खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें संख्या 31 को लाल बॉक्स द्वारा हाइलाइट किया गया है। वीआर रोबोट नंबर 1 से शुरू होता है, और संख्या 31 का वर्ग उससे तीन स्थान ऊपर है।

ध्यान दें कि वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंडपर संख्या '31' पर जाने के लिए वाई अक्ष के साथ यात्रा करेगा।

नंबर ग्रिड मैप खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें संख्या 31 स्थान को काले बॉक्स द्वारा हाइलाइट किया गया है। एक रेखा Y अक्ष पर माप को दर्शाती है, जिसमें पहला स्थान Y अक्ष पर -900 मिलीमीटर है, तथा अगला -700 है, तथा प्रत्येक बार 200 से गिनती जारी रहती है। संख्या 31 वाला स्थान -300 मिलीमीटर के Y स्थान पर है।

वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंडपर नंबर '31' के स्थान पर ड्राइव करेगा। हालाँकि, इससे पहले कि वीआर रोबोट उस नंबर तक पहुंच सके, वीआर रोबोट को यह बताना होगा कि वह नंबर कहां है। संख्या '31' के निर्देशांक (-900, -300) हैं।

संख्या ग्रिड मानचित्र खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें दो अक्ष संकेतक संख्या 31 स्थान के स्थान को चिह्नित करते हैं। वीआर रोबोट -900 एक्स और -900 वाई से शुरू होता है, जबकि संख्या 31 स्थान -900 एक्स और -300 वाई पर है।
  • [ड्राइव] नॉन-वेटिंग ब्लॉक को कार्यक्षेत्र में खींचें.

    एक नया VEXcode VR ब्लॉक प्रोजेक्ट जो When Started ब्लॉक से शुरू होता है और उसके बाद Drive Forward ब्लॉक आता है।
  • [ड्राइव] ब्लॉक के नीचे [प्रतीक्षा करें] ब्लॉक संलग्न करें।

    VEXcode VR ब्लॉक परियोजना की निरंतरता, जिसमें अब Drive Forward ब्लॉक के बाद Wait Until ब्लॉक जोड़ा गया है। अब सम्पूर्ण परियोजना इस प्रकार है: जब शुरू किया जाए, आगे बढ़ें और तब तक प्रतीक्षा करें। Wait Until ब्लॉक में एक रिक्त बूलियन पैरामीटर है।
  • <Greater than> बूलियन रिपोर्टर ब्लॉक को [Wait until] ब्लॉक में खींचें.

    VEXcode VR ब्लॉक परियोजना की निरंतरता, अब Wait Until ब्लॉक में Greater Than ब्लॉक सम्मिलित किया गया है। अब पूरे प्रोजेक्ट में लिखा है, 'जब शुरू किया जाए, आगे बढ़ें', उसके बाद एक 'वेट अनटिल' ब्लॉक है, जिसमें एक 'ग्रेटर दैन' ब्लॉक है, जिसमें लिखा है 'रिक्त स्थान 50 से अधिक है'।
  • ध्यान दें कि <Less than> ब्लॉक के स्थान पर <Greater than> ब्लॉक का उपयोग किया गया है, क्योंकि VR रोबोट खेल के मैदान के नीचे से ऊपर की ओर आ रहा है। वीआर रोबोट -900 मिलीमीटर (मिमी) के वाई-मान से शुरू हो रहा है। जैसे-जैसे वीआर रोबोट आगे बढ़ता है, Y-मान बढ़ता जाता है।

    नंबर ग्रिड मैप खेल के मैदान का वही ऊपर से नीचे का दृश्य, जिसमें दो अक्ष संकेतक पहले से ही संख्या 31 स्थान के स्थान को चिह्नित कर रहे हैं। वीआर रोबोट -900 एक्स और -900 वाई से शुरू होता है, जबकि संख्या 31 स्थान -900 एक्स और -300 वाई पर है।
  • (रोबोट की स्थिति) ब्लॉक को <Greater than> ब्लॉक में खींचें।

    VEXcode VR ब्लॉक परियोजना की निरंतरता, अब रोबोट की स्थिति ब्लॉक को ग्रेटर दैन ब्लॉक में सम्मिलित किया गया है। अब पूरे प्रोजेक्ट में लिखा है, जब शुरू किया जाए, तो आगे बढ़ें और तब तक प्रतीक्षा करें जब तक कि रोबोट की एक्स स्थिति मिलीमीटर में 50 से अधिक न हो जाए।
  • (रोबोट की स्थिति) ब्लॉक का पैरामीटर “Y” पर सेट करें और <Greater than> ब्लॉक का पैरामीटर -300 पर सेट करें।

    VEXcode VR ब्लॉक परियोजना की निरंतरता, अब रोबोट ब्लॉक की अक्ष की स्थिति को X से Y में बदल दिया गया है और ग्रेटर दैन ब्लॉक का दूसरा पैरामीटर 50 से -300 में बदल दिया गया है। अब पूरे प्रोजेक्ट में लिखा है, जब शुरू किया जाए, तो आगे बढ़ें और तब तक प्रतीक्षा करें जब तक रोबोट की Y स्थिति मिलीमीटर में -300 से अधिक न हो जाए।
  • [ड्राइविंग रोकें] ब्लॉक को खींचें और उसे प्रोजेक्ट में जोड़ें.

    VEXcode VR ब्लॉक परियोजना की निरंतरता, अब Wait Until ब्लॉक के नीचे Stop Driving ब्लॉक जोड़ा गया है। अब पूरे प्रोजेक्ट में लिखा है, जब शुरू किया जाए, तो आगे बढ़ें और तब तक प्रतीक्षा करें जब तक रोबोट की Y स्थिति मिलीमीटर में -300 से अधिक न हो जाए। अंत में, गाड़ी चलाना बंद करें।
  • यदि नंबर ग्रिड मैप प्लेग्राउंड पहले से खुला नहीं है तो उसे लॉन्च करें और प्रोजेक्ट चलाएं।
  • नंबर ग्रिड मानचित्र खेल के मैदानपर नंबर '31' के लिए वी.आर. रोबोट ड्राइव देखें।

    नंबर ग्रिड मैप खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें वीआर रोबोट नंबर 31 स्थान पर स्थित है।
  • इस परियोजना में, वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंडपर नंबर '31' तक ड्राइव करता है। चूंकि वीआर रोबोट के संख्या '31' तक पहुंचने पर Y-मान बढ़ रहा है, इसलिए परियोजना <Greater than> ब्लॉक का उपयोग करती है।
  • वीआर रोबोट तब रुक जाएगा जब उसका वाई-मान उस निर्देशांक के वाई-मान से अधिक हो जाएगा जिस पर संकेतित संख्या स्थित है। चूंकि संख्या '31' का Y-मान -300 है, इसलिए Y-मान -300 से अधिक होने पर VR रोबोट गाड़ी चलाना बंद कर देगा।
VEXcode VR ब्लॉक परियोजना में तर्क के प्रवाह को दर्शाने वाला एक आरेख। यह परियोजना "जब शुरू किया गया" ब्लॉक से शुरू होती है और फिर आगे की ओर ड्राइविंग शुरू करती है, और उस कमांड को तब तक रखती है जब तक कि रोबोट सेंसर की Y स्थिति मिलीमीटर में -300 से अधिक नहीं हो जाती, जिसके बाद "स्टॉप ड्राइविंग" ब्लॉक ड्राइव फॉरवर्ड कमांड को समाप्त कर देता है।

स्विच ब्लॉक का उपयोग करना 

इस पाठ में, आपने सीखा कि बूलियन शर्त के साथ VEXcode [Wait until] ब्लॉक का उपयोग कैसे करें, ताकि रोबोट को अगले व्यवहार पर जाने से पहले Y-अक्ष पर -300 से अधिक की स्थिति तक पहुंचने तक प्रतीक्षा करने का आदेश दिया जा सके।

नीचे दी गई छवि स्विच ब्लॉक के बगल में VEXcode ब्लॉक को दिखाती है जिसमें समान व्यवहार के लिए पायथन कमांड शामिल है। 

VEXcode VR Wait Until ब्लॉक और उसके संगत स्विच ब्लॉक की तुलना। वीआर ब्लॉक में लिखा है 'रोबोट की वाई स्थिति मिलीमीटर में -300 से अधिक होने तक प्रतीक्षा करें'। स्विच ब्लॉक का पायथन कोड इस प्रकार है 'while not location.position(Y, MM) > -300: wait(5, MSEC)'. wait कमांड while not के नीचे इंडेंट किया गया है।स्विच ब्लॉक के भीतर,while not location.position(Y, MM) > -300:पहला पायथन कमांड है जो यह जांचता है कि X-अक्ष के साथ रोबोट की स्थिति -300 से अधिक है या नहीं।

दूसरा इंडेंटेड कमांड,wait (5, MSEC),सशर्त लूप के निष्पादन को 5 मिलीसेकंड के लिए रोक देता है।

VEXcode VR में, wait कमांड हमेशा सशर्त लूप के साथ जोड़ा जाता है। wait कमांड का उद्देश्य यह सुनिश्चित करना है कि VEXcode VR प्लेटफॉर्म की वेब-आधारित प्रकृति के कारण, VEXcode VR परियोजना को अपेक्षित रूप से ठीक से चला सके। सशर्त लूप का उपयोग करते समय wait कमांड को कभी भी हटाया नहीं जाना चाहिए, अन्यथा आपका प्रोजेक्ट अपेक्षित रूप से नहीं चल पाएगा। 

इस उदाहरण में, परियोजना यह जांचती है कि रोबोट की स्थिति प्रत्येक 5 MSEC पर -300 के Y मान से अधिक है या नहीं। कोड की यह पंक्ति कोड की पहली पंक्ति के नीचे इंडेंट की गई है, क्योंकि यह कमांड वह व्यवहार है जो तब तक दोहराया जाएगा जब तक कि शर्त (-300 से अधिक का Y निर्देशांक मान) पूरी नहीं हो जाती। 

इस पाठ के शेष भाग को जारी रखने के लिए अगला बटन का चयन करें।