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

-
पिछले पाठ से Unit7Lesson3 प्रोजेक्ट लोड करें।

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

-
एक [Forever] ब्लॉक को कार्यक्षेत्र में खींचें और इसे ब्लॉकों के ढेर के शीर्ष पर संलग्न करें। ध्यान दें कि इसमें [Forever] ब्लॉक के अंदर सभी चार [If then] ब्लॉक शामिल होंगे।

आपकी जानकारी के लिए
ब्लॉक को प्रोजेक्ट स्टैक के आरंभ या मध्य में, ब्लॉक के शीर्ष को पंक्तिबद्ध करके, स्टैक में वांछित स्थान पर जोड़ा जा सकता है।

नीचे दिया गया यह वीडियो दिखाता है कि वर्तमान प्रोजेक्ट में चार [यदि तो] ब्लॉकों के चारों ओर [हमेशा के लिए ब्लॉक] कैसे जोड़ा जाए। ध्यान दें कि [Forever] ब्लॉक का शीर्ष [When started] और पहले [If then] ब्लॉक के ठीक बाद पंक्तिबद्ध है। [Forever] ब्लॉक फिर प्रोजेक्ट स्टैक में निम्नलिखित सभी ब्लॉकों के चारों ओर लपेटता है।
- अब जबकि [Forever] ब्लॉक को प्रोजेक्ट में जोड़ दिया गया है ताकि सभी [If then] ब्लॉकों की स्थितियों की लगातार जाँच हो सके, डिस्क मेज़ प्लेग्राउंड खोलें और प्रोजेक्ट चलाएँ।
-
जब यह परियोजना चलाई जाएगी, तो वीआर रोबोट डिस्क भूलभुलैया खेल के मैदान को शुरू से अंत तक नेविगेट करेगा। जैसे ही वीआर रोबोट लाल बत्ती का पता लगाएगा, वह गाड़ी चलाना बंद कर देगा।

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

-
अब जबकि [Forever] ब्लॉक जोड़ दिया गया है, [If then] C ब्लॉक की प्रत्येक स्थिति की बार-बार जाँच की जाएगी। परियोजना के प्रवाह के दौरान, यदि [यदि तो] C ब्लॉक की स्थिति सत्य है, तो [यदि तो] C ब्लॉक के अंदर के ब्लॉक निष्पादित होते हैं। यदि [यदि तो] C ब्लॉक की स्थिति गलत है, तो [यदि तो] C ब्लॉक के अंदर के ब्लॉक छोड़ दिए जाते हैं, और प्रोजेक्ट का प्रवाह स्टैक में अगले ब्लॉक तक जारी रहेगा। इससे वीआर रोबोट को एक निश्चित रंग का पता चलने पर मुड़ने या रुकने जैसे अलग-अलग व्यवहार करने में सक्षम बनाता है।

-
[यदि तो] ब्लॉक का उपयोग [हमेशा] ब्लॉक के साथ किया जाता है ताकि यह सुनिश्चित किया जा सके कि शर्तों की लगातार जाँच की जाती है।

स्विच ब्लॉक का उपयोग करना
यह स्विच [हमेशा] ब्लॉक है। फॉरएवर के लिए स्विच पायथन कमांड एक while लूप बनाता है जहां शर्त सत्य है। लूप के भीतर निहित कमांड्स को तब हमेशा दोहराया जाएगा, क्योंकि शर्त हमेशा सत्य होती है।
