मुख्य सामग्री पर जाएं

पाठ 2: क्रियाओं को दोहराना

अब जबकि वीआर रोबोट ने पेन का उपयोग करके आर्ट कैनवास प्लेग्राउंड पर एक वर्ग बनाया है, आप ब्लॉक को दोहराना और अपनी परियोजना को सरल बनाना सीखेंगे। यह पाठ आपको [Repeat] ब्लॉक का उपयोग करके आर्ट कैनवास प्लेग्राउंड पर एक वर्ग बनाने के चरणों के बारे में बताएगा।

प्रोजेक्ट के अंत में एक वीआर रोबोट के साथ आर्ट कैनवास प्लेग्राउंड। वीआर रोबोट के ऊपरी दाहिनी ओर स्थित प्लेग्राउंड पर गहरे काले रंग की रेखाओं वाला एक वर्ग बनाया गया है।

सीखने के परिणाम

  • यह पहचानें कि [Repeat] ब्लॉक का उपयोग करके इसके अंदर के ब्लॉकों को एक निश्चित संख्या में कैसे दोहराया जा सकता है।
  • यह पहचानें कि [Repeat] ब्लॉक पूर्णांकों को पैरामीटर के रूप में स्वीकार कर सकता है।
  • यह पहचानें कि [Repeat] ब्लॉक को समाप्त करने के लिए शर्तों का उपयोग किया जाता है।
  • बताइए कि किसी प्रोजेक्ट में [Repeat] ब्लॉक का उपयोग क्यों किया जाएगा।
  • एक ऐसे प्रोजेक्ट के प्रवाह का वर्णन करें जिसमें [Repeat] ब्लॉक शामिल हो।

प्रोजेक्ट का नाम बदलें

  • यदि पिछले पाठ का प्रोजेक्ट पहले से लोड नहीं है, तो Unit3Lesson1 प्रोजेक्ट लोड करें।
  • प्रोजेक्ट का नाम बदलने के लिए प्रोजेक्ट नाम बॉक्स का चयन करें।

    VEXcode VR कोडिंग वातावरण, जिसके ऊपरी मध्य भाग में एक लाल बॉक्स है जो प्रोजेक्ट के नाम वाले बॉक्स को दर्शाता है। प्रोजेक्ट के नाम वाले बॉक्स में यूनिट 3 लेसन 1 लिखा है।
  • नए प्रोजेक्ट का नाम Unit3Lesson2दर्ज करें और "सेव" चुनें।

    प्रोजेक्ट का नाम पॉपअप में खुल गया और उसमें नया शीर्षक, यूनिट 3 लेसन 2 लिखा हुआ था। प्रोजेक्ट नाम वाले पॉपअप के निचले भाग में एक लाल बॉक्स सेव विकल्प को इंगित करता है।

क्रियाओं को दोहराना

[Repeat] ब्लॉक का उपयोग इसके भीतर के ब्लॉकों को एक निश्चित संख्या में दोहराने के लिए किया जाता है। [Repeat] ब्लॉक उन प्रोजेक्ट्स को बनाते समय समय और मेहनत बचाता है जिनमें ब्लॉक दोहराए जाते हैं। कार्यक्षेत्र में अतिरिक्त ब्लॉक जोड़ने या मौजूदा ब्लॉकों की प्रतिलिपि बनाने में समय बर्बाद करने के बजाय, स्थान और समय बचाने के लिए [Repeat] ब्लॉक का उपयोग किया जा सकता है।

  • पिछले प्रोजेक्ट में संशोधन करके शुरुआत करें या इस आधार प्रोजेक्ट से मेल खाने वाला एक नया प्रोजेक्ट बनाएं। आप अपने प्रोजेक्ट को बनाने के लिए पारंपरिक ब्लॉक, स्विच ब्लॉक और दोनों के संयोजन का उपयोग कर सकते हैं। 

    एक VEXcode VR प्रोजेक्ट जिसमें एक 'when started' ब्लॉक और उससे जुड़े नौ ब्लॉक हैं। ब्लॉक ऊपर से नीचे की ओर इस प्रकार हैं: रोबोट पेन को नीचे ले जाएं, 600 मिलीमीटर आगे बढ़ें, 90 डिग्री दाएं मुड़ें, 600 मिलीमीटर आगे बढ़ें, 90 डिग्री दाएं मुड़ें, 600 मिलीमीटर आगे बढ़ें, 90 डिग्री दाएं मुड़ें, 600 मिलीमीटर आगे बढ़ें और 90 डिग्री दाएं मुड़ें।
  • इस प्रोजेक्ट में बार-बार आने वाले ब्लॉक [Drive for] और [Turn for] ब्लॉक हैं। प्रोजेक्ट में सबसे नीचे के छह ब्लॉकों को हटा दें ताकि [move robot pen] ब्लॉक के नीचे केवल एक [Drive for] और एक [Turn for] ब्लॉक ही बचे।

    ऊपर से देखने पर प्रोजेक्ट के निचले 6 ब्लॉकों के चारों ओर एक लाल बॉक्स दिखाई देता है। एक लाल तीर दाईं ओर इंगित करता है यह दिखाने के लिए कि उन 6 ब्लॉकों को हटाने के बाद प्रोजेक्ट कैसा दिखेगा। नए प्रोजेक्ट में एक 'व्हेन स्टार्टेड' ब्लॉक है जिसके नीचे तीन ब्लॉक जुड़े हुए हैं। उन्होंने पढ़ा: रोबोट पेन को नीचे ले जाएं, 600 मिलीमीटर आगे बढ़ें और 90 डिग्री दाएं मुड़ें।
  • [Repeat] ब्लॉक को खींचकर लाएँ। ध्यान दें कि [Repeat] ब्लॉक को वर्कस्पेस में रखने पर इसके अंदर मौजूद ब्लॉकों के चारों ओर एक धूसर छाया बन जाएगी।

    यह परियोजना शुरू होने से पहले की है, जिसमें नीचे तीन ब्लॉक हैं। ड्राइव फॉरवर्ड और टर्न राइट ब्लॉक के चारों ओर एक रिपीट लूप को जोड़ने की प्रक्रिया दिखाई गई है, यह एक शैडो प्रीव्यू द्वारा दर्शाया गया है जो यह बताता है कि ब्लॉक कहाँ जाएगा। एक लाल तीर दाईं ओर इंगित करता है जो रिपीट लूप जोड़ने के बाद प्रोजेक्ट को दर्शाता है। प्रोजेक्ट शुरू होने पर पढ़ता है, रोबोट पेन को नीचे ले जाता है, 10 बार दोहराता है। रिपीट 10 के अंदर दो ब्लॉक हैं: 600 मिलीमीटर आगे बढ़ें और 90 डिग्री दाएं मुड़ें।
  • [Repeat] ब्लॉक के पैरामीटर को “4” पर सेट करें ताकि एक VR रोबोट एक वर्ग की चारों भुजाओं को खींच सके।

    पहले जैसा ही प्रोजेक्ट, बस रिपीट लूप के न्यूमेरिक पैरामीटर के चारों ओर एक लाल बॉक्स बना दिया गया है। यह संख्या 10 से बदलकर 4 हो गई है।

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

    [Repeat] ब्लॉक पूर्णांक स्वीकार कर सकता है। [Repeat] ब्लॉक के लिए पैरामीटर के रूप में दशमलव संख्याएँ काम नहीं करेंगी।

    VEXcode VR में लूप को दोहराएं।

    यह स्विच [रिपीट] ब्लॉक है। इस उदाहरण में, [Repeat] ब्लॉक को व्यवहार को 10 बार दोहराने के लिए सेट किया गया है। कमांड,for repeat_count in range(10), वह कोड है जो एक लूप शुरू करता है जो 10 बार दोहराता है। 

    रिपीट लूप का स्विच ब्लॉक संस्करण। यह ब्लॉक एक वर्ग के आकार का है जिसका दाहिना भाग खुला है। ब्लॉक के अंदर का पाठ "for repeat underscore count in range" लिखा हुआ है, जिसमें कोष्ठक में 10 संख्या और अंत में एक कोलन है।

    नीचे दी गई छवि में स्विच [रिपीट] सी-ब्लॉक के भीतर स्थित स्विच [ड्राइव फॉर] और [टर्न फॉर] कमांड दिखाए गए हैं। स्विच [रिपीट] ब्लॉक का पैरामीटर "4" पर सेट किया गया है, जिसका अर्थ है कि सी-ब्लॉक के भीतर नेस्टेड [ड्राइव फॉर] और [टर्न फॉर] कमांड को चार बार दोहराया जाएगा।

    पहले की तरह ही स्विच रिपीट लूप, बस कोष्ठक में दी गई संख्या को 4 पर सेट कर दिया गया है। ब्लॉक के खुले क्षेत्र के अंदर दो अन्य स्विच ब्लॉक हैं। पहले ब्लॉक में लिखा है: ड्राइवट्रेन डॉट ड्राइव अंडरस्कोर फॉर विद फॉरवर्ड कॉमा 600 कॉमा एमएम इन पैरेन्थेसिस। दूसरे ब्लॉक में लिखा है: ड्राइवट्रेन डॉट टर्न अंडरस्कोर फॉर विद राइट 90 डिग्रीज इन पैरेन्थेसिस।

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

     for repeat_count in range(4): यह पायथन कमांड है जो रिपीट लूप बनाता है जो रोबोट को इस कमांड के नीचे कोड की इंडेंटेड लाइनों को4 बार दोहराने के लिए कहता है।

    कोड की अगली पंक्तियाँ रिपीट कमांड के नीचे इंडेंट की गई हैं क्योंकि ये वे व्यवहार हैं जिन्हें दोहराया जाएगा। इंडेंटेशन डिफ़ॉल्ट रूप से 4 स्पेस पर सेट है। पायथन कमांड टाइप करते समय, कमांड को इंडेंट करते समय हमेशा समान संख्या में स्पेस का उपयोग करना सुनिश्चित करें, क्योंकि इंडेंटेशन असंगत होने पर प्रोजेक्ट ठीक से नहीं चलेंगे। 

    कमांड drivetrain.drive_for(FORWARD, 600, MM) रोबोट को 600 मिमी आगे बढ़ने के लिए कहती है और कमांडdrivetrain.turn_for(RIGHT, 90, DEGREES)रोबोट को 90 डिग्री दाएं मुड़ने के लिए कहती है। क्योंकि ये कमांड रिपीट कमांड के नीचे इंडेंट किए गए हैं, इसलिए ये व्यवहार रिपीट लूप का हिस्सा हैं और चार बार दोहराए जाएंगे।  

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

  • यदि प्लेग्राउंड पहले से खुला नहीं है तो खोलने के लिए "ओपन प्लेग्राउंड" बटन चुनें

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

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

    प्रोजेक्ट के अंत में एक वीआर रोबोट के साथ आर्ट कैनवास प्लेग्राउंड। वीआर रोबोट के ऊपरी दाहिनी ओर स्थित प्लेग्राउंड पर गहरे काले रंग की रेखाओं वाला एक वर्ग बनाया गया है।

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