Skip to main content

पाठ 4: लाल और हरे रंग की डिस्क को स्थानांतरित करें

  • इसके बाद, वीआर रोबोट को अगले रंगीन लक्ष्य की ओर आगे बढ़ना होगा। ध्यान दें कि वीआर रोबोट को अगले रंगीन लक्ष्य के केंद्र तक पहुंचने के लिए चार ग्रिड वर्ग या 800 मिलीमीटर (मिमी) आगे बढ़ना होगा।

    डिस्क मूवर खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें वीआर रोबोट पहली नीली डिस्क को गिराने के बाद नीले गोल के किनारे पर स्थित है, तथा दाईं ओर लाल गोल की ओर मुंह करके खड़ा है। एक बिन्दुयुक्त तीर वीआर रोबोट के सामने से लाल लक्ष्य की ओर इशारा करता है, जो अगले इच्छित मूवमेंट को दर्शाता है।
  • कोड में [ड्राइव फॉर] ब्लॉक जोड़ें और पैरामीटर को 800 मिलीमीटर (मिमी) पर सेट करें।

    पिछले पृष्ठ से समान VEXcode VR परियोजना, जिसमें स्टैक के अंत में एक टिप्पणी और ड्राइव फॉर ब्लॉक जोड़ा गया है। दो अतिरिक्त ब्लॉकों पर लिखा था, अगले लक्ष्य तक ड्राइव करें, फिर 800 मिमी तक आगे ड्राइव करें।
  • अब वीआर रोबोट को रंगीन डिस्क की ओर मुड़ना होगा।

    डिस्क मूवर खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें वीआर रोबोट लाल गोल क्षेत्र में स्थित है। वी.आर. रोबोट के सामने से एक घुमावदार तीर लाल डिस्क की ओर इशारा करता है, जो लाल डिस्क की ओर मुड़ने के लिए आवश्यक संकेत देता है।
  • कोड में दूसरा [Turn to heading] ब्लॉक जोड़ें और पैरामीटर को शून्य डिग्री पर सेट करें। इससे वीआर रोबोट रंगीन डिस्क की ओर मुड़ जाएगा।

    वही VEXcode VR प्रोजेक्ट, जिसमें स्टैक के अंत में एक टिप्पणी ब्लॉक और शीर्षक ब्लॉक जोड़ा गया है। इन दो ब्लॉकों में लिखा है, डिस्क की ओर मुड़ें, फिर 0 डिग्री की ओर मुड़ें।
  • डिस्क मूवर प्लेग्राउंड खोलें और प्रोजेक्ट चलाएं।
  • वी.आर. रोबोट पहली नीली डिस्क को उठाकर नीले गोल में ले जाएगा, और फिर लाल गोल के ऊपर से चलाएगा। वीआर रोबोट भी लाल डिस्क की ओर मुड़ जाएगा।

    डिस्क मूवर खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें वीआर लाल गोल के सामने किनारे पर स्थित है, तथा लाल डिस्क के सामने है।
  • अब जबकि वीआर रोबोट लाल डिस्क के सामने है, तो लाल डिस्क को उठाने और स्थानांतरित करने के लिए वीआर रोबोट को वही व्यवहार दोहराना होगा जो नीली डिस्क को इकट्ठा करने के लिए उपयोग किया गया था। डिस्क को उठाने के लिए आगे बढ़ना, पीछे मुड़ना, तथा डिस्क को छोड़ने के लिए उसी रंग के गोल की ओर वापस जाना आदि व्यवहार।

    डिस्क मूवर खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें वीआर लाल गोल के सामने किनारे पर स्थित है, तथा लाल डिस्क के सामने है। बिन्दुयुक्त तीर, पहली लाल डिस्क को उठाने, उसे लाल गोल तक पहुंचाने, फिर मुड़कर हरे गोल की ओर जाने के लिए आवश्यक गतिविधियों को इंगित करते हैं।
  • एक बार जब पहली लाल डिस्क को स्थानांतरित कर दिया जाता है, तो वीआर रोबोट को हरे रंग के लक्ष्य तक ड्राइव करना होगा और पहले हरे रंग की डिस्क को स्थानांतरित करने के लिए वही क्रियाएं करनी होंगी जो नीली और लाल डिस्क को स्थानांतरित करने के लिए उपयोग की गई थीं।

    डिस्क मूवर खेल के मैदान का प्रारंभिक विन्यास में ऊपर से नीचे का दृश्य, जिसमें रोबोट नीले गोल प्रारंभिक स्थान पर है। बिन्दुयुक्त तीर, रोबोट को प्रत्येक डिस्क को उठाकर संबंधित लक्ष्यों तक पहुंचाने के लिए प्रेरित करने वाले इच्छित दोहराए गए व्यवहारों को दर्शाते हैं।
  • व्यवहार को कई बार दोहराने के लिए, [Repeat] ब्लॉक का उपयोग किया जा सकता है।

    टूलबॉक्स से एक VEXcode VR रिपीट ब्लॉक, जिसका पैरामीटर डिफ़ॉल्ट रूप से 10 पर सेट है।
  • कोड में [Repeat] ब्लॉक जोड़ें और पैरामीटर को '3' पर सेट करें।

    मौजूदा VEXcode VR परियोजना में रिपीट ब्लॉक जोड़ने का अवलोकन, ताकि पहली नीली डिस्क को उठाकर नीले लक्ष्य तक ले जाने, अगले लक्ष्य तक ले जाने और फिर डिस्क की ओर मुड़ने के लिए आवश्यक सभी ब्लॉक रिपीट ब्लॉक के C के भीतर समाहित हो जाएं। दोहराएँ ब्लॉक पैरामीटर 3 पर सेट है.
  • डिस्क मूवर प्लेग्राउंड खोलें और प्रोजेक्ट चलाएं।
  • जब यह परियोजना चलती है, तो वीआर रोबोट प्रत्येक रंग की एक डिस्क उठाता है और उसे उसके संबंधित रंगीन लक्ष्य में छोड़ देता है।

    डिस्क मूवर प्लेग्राउंड का ऊपर से नीचे का दृश्य, जो परियोजना के चलने के बाद डिस्क और रोबोट की अंतिम स्थिति को दर्शाता है। प्रत्येक रंग की डिस्क का पहला भाग मिलान वाले रंग के गोल में है, और वीआर रोबोट हरे गोल के किनारे खेल के मैदान की दीवार पर है।
  • ध्यान दें कि वी.आर. रोबोट दीवार से टकराता रहा। यह व्यवहार अपेक्षित है, क्योंकि परियोजना में वीआर रोबोट को तीन बार दाईं ओर मुड़कर अगले लक्ष्य की ओर जाने का निर्देश दिया गया था। पहली बार नीले से लाल रंग की ओर गाड़ी चलाना है। दूसरा लाल से हरे रंग की ओर है, और तीसरा हरे से दीवार की ओर है, क्योंकि वहां कोई अन्य रंगीन गोल नहीं है। जैसे ही VR रोबोट दीवार से टकरा जाए, परियोजना रोक दें। परियोजना में सुधार किया जा सकता है ताकि वीआर रोबोट हरे रंग की डिस्क को उठाने और हिलाने के बाद रुक जाए, लेकिन इससे परियोजना की समग्र जटिलता बढ़ जाएगी।

    खेल के मैदान की खिड़की परियोजना के अंत में हरे रंग के लक्ष्य क्षेत्र के भीतर वीआर रोबोट को दिखाती है, जिसमें स्टॉप बटन को लाल बॉक्स द्वारा हाइलाइट किया गया है जो रोबोट के दीवार से टकराने से पहले परियोजना को रोकने का संकेत देता है।

आपकी जानकारी के लिए

एक लूप को दूसरे लूप के अन्दर रखना नेस्टिंग कहलाता है। जब आप लूप को “नेस्ट” करते हैं, तो बाहरी लूप आंतरिक लूप के निष्पादन की संख्या को नियंत्रित करता है। कई अलग-अलग प्रकार के लूप हैं जिन्हें नेस्ट किया जा सकता है। उदाहरण के लिए, ऊपर दिए गए पिछले कोड में, [Repeat until] ब्लॉक एक [Repeat] ब्लॉक के अंदर नेस्टेड हैं।

पहले वाला वही VEXcode VR प्रोजेक्ट, जो दिखाता है कि किस प्रकार Repeat until C ब्लॉक्स को Repeat ब्लॉक के भीतर नेस्ट किया गया है, जिससे रोबोट तीन डिस्कों को सफलतापूर्वक स्थानांतरित करने में सक्षम हो जाता है।

एक [रिपीट] ब्लॉक को दूसरे [रिपीट] ब्लॉक के अंदर भी नेस्ट किया जा सकता है। निम्नलिखित उदाहरण में, चूंकि बाहरी [दोहराएँ] ब्लॉक '3' पर सेट है, इसलिए VR रोबोट खेल के मैदान पर तीन वर्ग बनाएगा।

बाईं ओर, एक प्रोजेक्ट में 3 पर सेट किया गया एक रिपीट ब्लॉक दिखाया गया है, जिसमें वीआर रोबोट को कोड करने के लिए रिपीट ब्लॉक की आवश्यकता होती है, ताकि उसके भीतर एक वर्ग बनाया जा सके, जो नेस्टेड लूप्स की अवधारणा को दर्शाता है। दाईं ओर, प्लेग्राउंड विंडो में प्रोजेक्ट से रोबोट द्वारा बनाए गए तीन वर्ग दिखाए गए हैं।

नेस्टेड लूप उन परियोजनाओं में सहायक होते हैं जहां VR रोबोट एक ही व्यवहार को एक से अधिक बार दोहराता है। नेस्टिंग लूप्स किसी परियोजना को व्यवस्थित और संघनित करता है। यह कोड के संदर्भ और उद्देश्य को बेहतर ढंग से समझने में सहायक हो सकता है, साथ ही त्रुटियों को ढूंढना भी आसान बना सकता है।

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