Skip to main content

पाठ 2: एकाधिक While लूप का उपयोग करना

दीवार भूलभुलैया के माध्यम से आगे बढ़ते हुए

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

  • आरंभ करने के लिए, stop कमांड कोwhileलूप के बाहर से हटा दें, और इसे turn_forकमांड से प्रतिस्थापित करें। वीआर रोबोट को 90 डिग्री तक बायीं ओर घुमाने के लिए पैरामीटर सेट करें। अब आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	drivetrain.turn_for(LEFT, 90, DEGREES)
  • यदि यह पहले से खुला नहीं है तो वॉल मेज़ प्लेग्राउंड लॉन्च करें और प्रोजेक्ट चलाएं।
  • दीवार भूलभुलैया की शुरुआत से वीआर रोबोट को ड्राइव करते हुए देखें, जब बम्पर सेंसर दीवार से दब जाए तो रुकें, और 90 डिग्री पर बायीं ओर मुड़ें।

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

एकाधिक लूप और दीवार भूलभुलैया समस्या

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

  • वीआर रोबोट की वर्तमान स्थिति से शुरू करते हुए, दीवार भूलभुलैया को सुलझाने में अगला कदम अगली दीवार तक आगे बढ़ना और 90 डिग्री पर दाईं ओर मुड़ना होगा। मौजूदा कमांड को कॉपी करके पिछले while loop और turn_for कमांड के नीचे पेस्ट किया जा सकता है। इंडेंटेशन के प्रति सचेत रहें, तथा 90 डिग्री पर दाएं मुड़ने के लिए नए turn_for कमांड पैरामीटर्स को बदलें। अब आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:

    def main():
    	जबकि left_bumper.pressed() नहीं है:
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    	
    	जबकि left_bumper.pressed() नहीं है:
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
  • दीवार भूलभुलैया खेल का मैदान रीसेट करें और परियोजना को फिर से चलाएं।
  • दीवार भूलभुलैया के शुरू से वीआर रोबोट को ड्राइव करते हुए देखें, जब बम्पर सेंसर दीवार द्वारा दबाया जाता है तो रुकें, 90 डिग्री बाएं मुड़ें, तब तक आगे बढ़ें जब तक बम्पर सेंसर फिर से दीवार द्वारा दबाया न जाए, फिर 90 डिग्री दाएं मुड़ें और रुकें।

    दीवार भूलभुलैया खेल के मैदान का ऊपर से नीचे का दृश्य। वी.आर. रोबोट हरे रंग के आरंभिक तीर से आगे बढ़ता है, फिर बायीं ओर मुड़ता है, और पुनः आगे बढ़ता है, जब तक कि वह अगली दीवार से नहीं टकराता। अब यह 90 डिग्री पर दाहिनी ओर घूम गया है, जिससे इसका मुख ऊपरी दीवार की ओर हो गया है।

मिनी चैलेंज

इस मिनी चुनौती के लिए, एक प्रोजेक्ट बनाएं जहां वीआर रोबोट वॉल भूलभुलैया खेल के मैदान पर शुरू से लेकर अक्षर 'ए' तक कई जबकिलूप और बम्पर सेंसर का उपयोग करके ड्राइव करता है!

खेल के मैदान के मध्य तल में प्रारंभिक स्थान पर वीआर रोबोट के साथ दीवार भूलभुलैया खेल के मैदान का ऊपर से नीचे का दृश्य। अक्षर A रोबोट के ठीक बाईं ओर है, जो एक छोटी दीवार से अलग है।

मिनी चुनौती को पूरा करने के लिए इन चरणों का पालन करें:

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

  • Unit4Lesson2 प्रोजेक्ट में आवश्यक कमांड जोड़कर या हटाकर प्रोजेक्ट बनाएं।
  • इसका परीक्षण करने के लिए परियोजना शुरू करें।
  • यदि परियोजना सफल न हो तो उसे संपादित करें और पुनः प्रयास करें। जब तक VR रोबोट सफलतापूर्वक शुरुआत से अक्षर 'A' तक नहीं पहुंच जाता, तब तक परियोजना को संशोधित करना और चलाना जारी रखें।
  • जब VR रोबोट सफलतापूर्वक प्रारंभ से अक्षर 'A' तक चला जाए तो प्रोजेक्ट को सेव कर दें।

बधाई हो! आपने मिनी चुनौती हल कर ली!

प्रश्न

कृपया पाठ प्रश्नोत्तरी तक पहुंचने के लिए नीचे दिए गए लिंक का चयन करें।

गूगल डॉक / .docx / .pdf