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

-
एक नया प्रोजेक्ट शुरू करें और इसे Unit7Lesson3नाम दें।

-
[यदि तब] ब्लॉक को कार्यक्षेत्र में खींचें और उसे [जब शुरू किया गया] ब्लॉक से जोड़ें.

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

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

स्विच ब्लॉक का उपयोग करना
नीचे दी गई छवि इस पाठ के उदाहरण प्रोजेक्ट के लिए स्विच [यदि तो] ब्लॉक स्टेटमेंट दिखाती है।
नीचे दी गई परियोजना में वही कमांड शामिल हैं जिन्हें एक स्विच ब्लॉक में परिवर्तित किया गया है।
कोड की पहली पंक्ति, if front_eye.detect(GREEN): वह सशर्त लूप है जो यह जांचता है कि फ्रंट आई सेंसर हरे रंग का पता लगाता है या नहीं। ध्यान दें कि इस पंक्ति के अंत में कोलन (:) होना चाहिए।
कोड की दूसरी पंक्ति, drivetrain.turn_for(RIGHT, 90, DEGREES) रोबोट को 90 डिग्री तक दाईं ओर मुड़ने के लिए कहती है, जब फ्रंट आई सेंसर हरे रंग का पता लगाता है। यह पंक्ति डिफ़ॉल्ट रूप से 4 स्पेसपर इंडेंट की गई है, क्योंकि यह विशिष्ट व्यवहार है जो तब किया जाएगा जब फ्रंट आई सेंसर हरे रंग का पता लगाएगा।

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

-
<Color sensing> ब्लॉक के पैरामीटर को 'हरा' में बदलें।

-
जब फ्रंट आई सेंसर हरे रंग की डिस्क का पता लगाता है, तो वीआर रोबोट को डिस्क भूलभुलैया को हल करने के लिए 90 डिग्री दाईं ओर मुड़ना होगा। [के लिए मुड़ें] ब्लॉक को [यदि तो] ब्लॉक में खींचें।

-
डिस्क मेज़ (हरा, नीला और लाल) में सभी तीन रंगों के लिए एक और [यदि तो] ब्लॉक जोड़ने के लिए इन चरणों का पालन करें। प्रत्येक रंग एक अलग व्यवहार से जुड़ा हुआ है। [यदि तो] ब्लॉक के अंदर के ब्लॉकों को उस इच्छित व्यवहार से मेल खाना होगा। प्रोजेक्ट में निम्नलिखित ब्लॉक जोड़ें. जब वीआर रोबोट 'नीला' रंग पहचान लेगा, तो वीआर रोबोट 90 डिग्री बायीं ओर मुड़ जाएगा।

-
जब वीआर रोबोट भूलभुलैया के अंत तक पहुंच जाएगा, तो वीआर रोबोट 'लाल' रंग का पता लगाएगा।

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

-
यदि वीआर रोबोट को कोई रंग दिखाई नहीं देता है तो वह 'कोई नहीं' मान का उपयोग करके निर्णय भी ले सकता है। डिस्क भूलभुलैया के शुरुआती बिंदु पर, वीआर रोबोट किसी भी रंग का पता नहीं लगाता है।

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

-
प्रोजेक्ट में निम्नलिखित ब्लॉक जोड़ें. जब वीआर रोबोट किसी भी रंग का पता नहीं लगाता है, तो वीआर रोबोट आगे बढ़ जाएगा।

- वीआर रोबोट में अब नेत्र संवेदक द्वारा पहचाने गए प्रत्येक रंग के लिए निर्देश हैं।
- फ्रंट आई सेंसर 'हरा' का पता लगाता है?
- 90 डिग्री दाएँ मुड़ें
- फ्रंट आई सेंसर 'नीला?' का पता लगाता है?
- 90 डिग्री बाएं मुड़ें
- फ्रंट आई सेंसर 'लाल?' का पता लगाता है?
- गाड़ी चलाना बंद करो
- फ्रंट आई सेंसर 'कोई नहीं?' का पता लगाता है
- आगे की तरफ गाड़ी चलाये
- फ्रंट आई सेंसर 'हरा' का पता लगाता है?
- डिस्क मेज़ प्लेग्राउंड खोलें और प्रोजेक्ट चलाएँ।
इस पाठ के शेष भाग को जारी रखने के लिए अगला बटन का चयन करें।