Skip to main content

पाठ 3: [यदि तो] ब्लॉक का उपयोग करना

डिस्क मेज़ चैलेंज में, वीआर रोबोट फ्रंट आई सेंसर की स्थिति की जांच कर रहा है, ताकि यह देखा जा सके कि कौन सा रंग रिपोर्ट किया जा रहा है। प्रत्येक रंग वीआर रोबोट द्वारा किए जाने वाले अलग-अलग व्यवहार से मेल खाता है।

VEXcode VR यदि तो C ब्लॉक 'फ्रंट आई लाल का पता लगाता है?' के बूलियन पैरामीटर के साथ।
  • एक नया प्रोजेक्ट शुरू करें और इसे Unit7Lesson3नाम दें।

    VEXcode VR टूलबार जिसमें 'प्रोजेक्ट नाम' बटन लाल बॉक्स में हाइलाइट किया गया है, जो 'प्लेग्राउंड चुनें' बटन के बाईं ओर है। परियोजना का नाम यूनिट 7 पाठ 3 निर्धारित किया गया है।
  • [यदि तब] ब्लॉक को कार्यक्षेत्र में खींचें और उसे [जब शुरू किया गया] ब्लॉक से जोड़ें.

    VEXcode VR प्रोग्राम को When Started ब्लॉक और एक खाली If Then C ब्लॉक से ब्लॉक करता है।

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

    [यदि तो] ब्लॉक एक सी ब्लॉक है जो बूलियन रिपोर्टर ब्लॉक को इनपुट के रूप में स्वीकार करता है। पाठ 2 में डिस्क भूलभुलैया को हल करते समय देखे गए पैटर्न का उपयोग करके, एक प्रोजेक्ट बनाया जा सकता है, जहां वीआर रोबोट निर्णय लेता है कि स्थिति सही है या गलत।

    VEXcode VR यदि तो C ब्लॉक जिसमें बूलियन पैरामीटर स्पेस को हाइलाइट करने वाला लाल बॉक्स है।

    [यदि तो] ब्लॉक एक परियोजना में एक बार चलेगा। इस उदाहरण में, यदि हरे रंग की वस्तु का पता चलता है तो फ्रंट आई सेंसर TRUE रिपोर्ट करेगा, और C ब्लॉक के अंदर कमांड निष्पादित करेगा - 90 डिग्री तक दाईं ओर मुड़ें। यदि हरे रंग की वस्तु का पता नहीं चलता है, तो प्रोजेक्ट स्टैक में अगले कमांड पर चला जाएगा।

    यदि सामने वाली आंख हरे रंग का पता लगा रही है तो VEXcode VR उस प्रोजेक्ट को ब्लॉक कर देता है जो दाईं ओर मुड़ता है। परियोजना में लिखा है: शुरू करते समय, यदि सामने वाली आँख हरी बत्ती पहचान ले, तो 90 डिग्री तक दाईं ओर मुड़ें। if कथन के बाहर एक स्टॉप ड्राइविंग ब्लॉक है।

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


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

    वही VEXcode VR ब्लॉक प्रोजेक्ट करता है, लेकिन इसमें स्विच ब्लॉक भी शामिल है, जो कि यदि फ्रंट आई हरे रंग का पता लगा रही है तो दाईं ओर मुड़ जाता है। परियोजना When started ब्लॉक से शुरू होती है और उसके बाद If Then ब्लॉक का स्विच C ब्लॉक संस्करण आता है। पायथन कोड इस प्रकार है 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)'। if कथन के बाहर एक स्टॉप ड्राइविंग ब्लॉक है।

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

    कोड की पहली पंक्ति, if front_eye.detect(GREEN): वह सशर्त लूप है जो यह जांचता है कि फ्रंट आई सेंसर हरे रंग का पता लगाता है या नहीं। ध्यान दें कि इस पंक्ति के अंत में कोलन (:) होना चाहिए। 

    कोड की दूसरी पंक्ति, drivetrain.turn_for(RIGHT, 90, DEGREES) रोबोट को 90 डिग्री तक दाईं ओर मुड़ने के लिए कहती है, जब फ्रंट आई सेंसर हरे रंग का पता लगाता है। यह पंक्ति डिफ़ॉल्ट रूप से 4 स्पेसपर इंडेंट की गई है, क्योंकि यह विशिष्ट व्यवहार है जो तब किया जाएगा जब फ्रंट आई सेंसर हरे रंग का पता लगाएगा। 

    वही VEXcode VR ब्लॉक प्रोजेक्ट करता है, लेकिन इसमें स्विच ब्लॉक भी शामिल है, जो कि यदि फ्रंट आई हरे रंग का पता लगा रही है तो दाईं ओर मुड़ जाता है। परियोजना When started ब्लॉक से शुरू होती है और उसके बाद If Then ब्लॉक का स्विच C ब्लॉक संस्करण आता है। पायथन कोड इस प्रकार है 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)'। if कथन के बाहर एक स्टॉप ड्राइविंग ब्लॉक है।

  • [यदि तो] ब्लॉक के षट्कोणीय इनपुट में कार्यक्षेत्र में <Color sensing> ब्लॉक खींचें।

    VEXcode VR उस प्रोजेक्ट को ब्लॉक कर देता है जो डिस्क के रंग को समझने के लिए if स्टेटमेंट का उपयोग करता है। इसकी शुरुआत 'जब शुरू किया गया' ब्लॉक से होती है और फिर एक टिप्पणी ब्लॉक होता है जिसमें लिखा होता है 'यदि फ्रंट आई हरे रंग का पता लगाती है तो दाएं मुड़ें'। अंत में एक खाली If Then ब्लॉक है जिसमें कलर सेंसिंग ब्लॉक का बूलियन पैरामीटर है, जिसमें लिखा है 'फ्रंट आई डिटेक्ट रेड?'।
  • <Color sensing> ब्लॉक के पैरामीटर को 'हरा' में बदलें।

    VEXcode VR उस प्रोजेक्ट को ब्लॉक कर देता है जो हरे डिस्क को समझने के लिए if स्टेटमेंट का उपयोग करता है। इसकी शुरुआत 'जब शुरू किया गया' ब्लॉक से होती है और फिर एक टिप्पणी ब्लॉक होता है जिसमें लिखा होता है 'यदि फ्रंट आई हरे रंग का पता लगाती है तो दाएं मुड़ें'। अंत में एक खाली If Then ब्लॉक है जिसमें कलर सेंसिंग ब्लॉक का बूलियन पैरामीटर है, जिसमें लिखा है 'फ्रंट आई हरे रंग का पता लगाती है?'। रंग को लाल से हरे में बदलने के लिए रंग ड्रॉपडाउन मेनू खुला है।
  • जब फ्रंट आई सेंसर हरे रंग की डिस्क का पता लगाता है, तो वीआर रोबोट को डिस्क भूलभुलैया को हल करने के लिए 90 डिग्री दाईं ओर मुड़ना होगा। [के लिए मुड़ें] ब्लॉक को [यदि तो] ब्लॉक में खींचें।

    VEXcode VR उस प्रोजेक्ट को ब्लॉक कर देता है जो हरे रंग की डिस्क को समझने के लिए if स्टेटमेंट का उपयोग करता है और फिर दाईं ओर मुड़ता है। इसकी शुरुआत 'जब शुरू किया गया' ब्लॉक से होती है और फिर एक टिप्पणी ब्लॉक होता है जिसमें लिखा होता है 'यदि फ्रंट आई हरे रंग का पता लगाती है तो दाएं मुड़ें'। अंत में एक If Then ब्लॉक है, जिसमें कलर सेंसिंग ब्लॉक का बूलियन पैरामीटर है, जो कहता है 'फ्रंट आई हरे रंग का पता लगाती है?' और If कंटेनर के अंदर 90 डिग्री के लिए दाएं मुड़ें ब्लॉक है, जो बूलियन के सत्य होने पर ट्रिगर होगा।
  • डिस्क मेज़ (हरा, नीला और लाल) में सभी तीन रंगों के लिए एक और [यदि तो] ब्लॉक जोड़ने के लिए इन चरणों का पालन करें। प्रत्येक रंग एक अलग व्यवहार से जुड़ा हुआ है। [यदि तो] ब्लॉक के अंदर के ब्लॉकों को उस इच्छित व्यवहार से मेल खाना होगा। प्रोजेक्ट में निम्नलिखित ब्लॉक जोड़ें. जब वीआर रोबोट 'नीला' रंग पहचान लेगा, तो वीआर रोबोट 90 डिग्री बायीं ओर मुड़ जाएगा।

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

    वीआर डिस्क भूलभुलैया खेल के मैदान में वीआर रोबोट, रोबोट रुक गया है और एक लाल डिस्क की ओर देख रहा है।
  • वीआर रोबोट को रोकने के लिए, एक और [यदि तो] ब्लॉक को जोड़ने की आवश्यकता है, जिसमें यह निर्देश हो कि जब वीआर रोबोट 'लाल' का पता लगाए तो क्या करना है। प्रोजेक्ट में निम्नलिखित ब्लॉक जोड़ें.

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

    डैशबोर्ड खुला होने के साथ VR खेल का मैदान दृश्य और रोबोट के फ्रंट आई सेंसिंग मानों को उजागर करने वाला एक लाल बॉक्स। वर्तमान 'ऑब्जेक्ट' मान गलत है, और वर्तमान 'रंग' मान कोई नहीं है।
  • चूंकि फ्रंट आई सेंसर डिस्क भूलभुलैया की शुरुआत में रंग का पता नहीं लगा पाता है, इसलिए वीआर रोबोट को तब तक आगे बढ़ना होगा जब तक कि वह हरे रंग की डिस्क का पता नहीं लगा लेता। एक और [यदि तो] ब्लॉक जोड़ा जा सकता है ताकि वीआर रोबोट को निर्देश दिया जा सके कि जब कोई रंग नहीं पाया जाता है तो क्या करना है।

    VEXcode VR कलर सेंसिंग ब्लॉक, जिसमें लिखा है 'फ्रंट आई डिटेक्ट नं. एक ड्रॉपडाउन मेनू खुला है जो यह दिखाता है कि उपयोगकर्ता लक्ष्य रंग को कैसे बदल सकता है।
  • प्रोजेक्ट में निम्नलिखित ब्लॉक जोड़ें. जब वीआर रोबोट किसी भी रंग का पता नहीं लगाता है, तो वीआर रोबोट आगे बढ़ जाएगा।

    वही VEXcode VR पहले से प्रोजेक्ट को ब्लॉक कर देता है, लेकिन यदि कोई डिस्क नहीं पाई जाती है तो आगे बढ़ने के लिए एक if स्टेटमेंट जोड़ देता है। यह जब शुरू हुआ ब्लॉक से शुरू होता है और फिर एक यदि तब ब्लॉक होता है जिसमें रंग संवेदन ब्लॉक का बूलियन पैरामीटर होता है जो कहता है 'सामने की आंख हरे रंग का पता लगाती है?' और यदि कंटेनर के अंदर 90 डिग्री के लिए दाएं मुड़ें ब्लॉक होता है। इसके बाद वही if ब्लॉक और टर्न ब्लॉक स्टैक है, लेकिन यदि नीला रंग पाया जाता है तो इसे 90 डिग्री तक बायीं ओर मोड़ने के लिए बदल दिया गया है। इसके बाद, यदि ब्लॉक और टर्न ब्लॉक स्टैक का ही उपयोग किया जाता है, लेकिन यदि लाल रंग का पता चलता है तो इसे ड्राइविंग रोकें में बदल दिया जाता है। अंत में, यदि ब्लॉक और टर्न ब्लॉक स्टैक का ही उपयोग किया जाता है, लेकिन यदि कोई रंग नहीं पाया जाता है, तो इसे ड्राइव फॉरवर्ड में बदल दिया जाता है।
  • वीआर रोबोट में अब नेत्र संवेदक द्वारा पहचाने गए प्रत्येक रंग के लिए निर्देश हैं।
    • फ्रंट आई सेंसर 'हरा' का पता लगाता है?
      • 90 डिग्री दाएँ मुड़ें
    • फ्रंट आई सेंसर 'नीला?' का पता लगाता है?
      • 90 डिग्री बाएं मुड़ें
    • फ्रंट आई सेंसर 'लाल?' का पता लगाता है?
      • गाड़ी चलाना बंद करो
    • फ्रंट आई सेंसर 'कोई नहीं?' का पता लगाता है
      • आगे की तरफ गाड़ी चलाये
  • डिस्क मेज़ प्लेग्राउंड खोलें और प्रोजेक्ट चलाएँ।

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