बदलना#

परिचय#

स्विच ब्लॉक छात्रों को ब्लॉक-आधारित कोडिंग से टेक्स्ट-आधारित कोडिंग में बदलाव करने में मदद करते हैं। स्विच ब्लॉक की मदद से छात्र ब्लॉक प्रोजेक्ट के अंदर सीधे पायथन कोड टाइप कर सकते हैं—जैसे कमांड, शर्तें, मान या फ़ंक्शन परिभाषाएँ लिखना—और साथ ही प्रोजेक्ट के बाकी हिस्से को ब्लॉक की मदद से ही बना सकते हैं। अलग-अलग ब्लॉक को उनके समकक्ष पायथन कमांड में भी बदला जा सकता है।

पायथन कमांड, मेथड और ऑपरेटर टाइप करना सीखने के लिए, VEX EXP पायथन API देखें।

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

नीचे सभी स्विच ब्लॉक की सूची दी गई है:

स्विच ब्लॉक्स — ब्लॉक्स प्रोजेक्ट में पायथन कोड जोड़ें।

  • स्टैक — अन्य स्टैक ब्लॉकों के साथ अनुक्रम में चलने वाले पायथन कमांड टाइप करने के लिए एक स्थान प्रदान करता है।

  • सी ब्लॉक — पायथन नियंत्रण कोड टाइप करने के लिए एक स्थान प्रदान करता है, जैसे कि if, while, या for कथन।

  • सी एक्सपेंडेबल — एकाधिक शाखाओं के साथ पायथन नियंत्रण कोड टाइप करने के लिए एक स्थान प्रदान करता है, जैसे if, elif, या else।

  • बूलियन — पायथन कोड टाइप करने के लिए एक स्थान प्रदान करता है जो True या False लौटाता है।

  • रिपोर्टर — पायथन कोड टाइप करने के लिए एक स्थान प्रदान करता है जो एक मान लौटाता है।

  • हैट — पायथन फ़ंक्शन को परिभाषित करने के लिए एक स्थान प्रदान करता है।

ढेर#

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

स्टैक ब्लॉक#
[] :: custom-switch

एक स्टैक ब्लॉक में पायथन कोड की एक पंक्ति या कई पंक्तियाँ हो सकती हैं।

शुरू होने पर, यह आगे बढ़ने, प्रतीक्षा करने और फिर रुकने के लिए स्टैक ब्लॉक का उपयोग करता है।#
जब शुरू हो :: hat events
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
[2] सेकंड प्रतीक्षा करें
चलाना बंद करें

सी ब्लॉक#

The C Block provides a space to type Python control code, such as if, while, or for statements. Blocks placed inside the C Block run as part of that Python control structure.

सी ब्लॉक#
if [] :: custom-switch
अंत

पायथन कंट्रोल कोड जिसे सी ब्लॉक में उपयोग किया जा सकता है, उसमें निम्नलिखित शामिल हैं:

शुरू होने पर, स्क्रीन दबाने पर यह आगे बढ़ने के लिए सी ब्लॉक का उपयोग करता है।#
जब शुरू हो :: hat events
[Drive forward when the screen is pressed.]
हमेशा
if [if brain.screen.pressing():] :: custom-switch
[आगे v] दिशा में [200] [mm v] चलाएं ▶
अंत
अंत

सी विस्तार योग्य#

C एक्सपेंडेबल ब्लॉक में आप कई शाखाओं वाले पाइथन कंट्रोल कोड टाइप कर सकते हैं, जैसे कि if, elif, या elseप्लस तीर का चयन करके अतिरिक्त शाखाएँ जोड़ी जा सकती हैं।

C विस्तार योग्य ब्लॉक#
if [] :: custom-switch-expand
अंत

पायथन कंट्रोल कोड जिसे सी एक्सपेंडेबल ब्लॉक में उपयोग किया जा सकता है, उसमें निम्नलिखित शामिल हैं:

शुरू होने पर, यह C एक्सपेंडेबल ब्लॉक का उपयोग करके स्क्रीन को दबाने पर दाईं ओर और अन्यथा बाईं ओर मुड़ता है।#
जब शुरू हो
[Turn right when the screen is pressed, otherwise turn left.]
हमेशा
if [if brain.screen.pressing():] :: custom-switch-expand
[दाएं v] दिशा में मुड़ें
else [else:] :: custom-switch-expand
[बाएं v] दिशा में मुड़ें
अंत
अंत

बूलियन#

बूलियन ब्लॉक पायथन कोड टाइप करने के लिए जगह प्रदान करता है जो True या Falseलौटाता है। इसे षट्कोणीय इनपुट वाले ब्लॉकों के अंदर रखा जा सकता है।

बूलियन ब्लॉक#
<[] :: custom-switch>

एक बूलियन ब्लॉक में पायथन की शर्त हो सकती है।

पायथन शर्त के साथ बूलियन ब्लॉक#
<[bumper_a.is_pressed()] :: custom-switch>

एक बूलियन ब्लॉक तार्किक ऑपरेटरों का भी उपयोग कर सकता है:

पायथन लॉजिकल ऑपरेटर के साथ बूलियन ब्लॉक#
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: custom-switch>

एक बूलियन ब्लॉक तुलना ऑपरेटरों का उपयोग करके मानों की तुलना कर सकता है:

  • से बड़ा: >

  • से कम: <

  • बराबर: ==

  • अन्य तुलना ऑपरेटरों में <=, !=, और >= शामिल हैं

पायथन तुलना ऑपरेटर के साथ बूलियन ब्लॉक#
<[drivetrain.get_heading()> 100] :: custom-switch>
शुरू होने पर, स्क्रीन दबाए जाने पर आगे बढ़ने के लिए एक बूलियन ब्लॉक का उपयोग करता है।#
जब शुरू हो :: hat events
[Drive forward whenever the screen is pressed.]
हमेशा
यदि <[brain.screen.pressing()] :: custom-switch> तो
[आगे v] दिशा में [200] [mm v] चलाएं ▶
अंत
अंत

रिपोर्टर#

रिपोर्टर ब्लॉक पाइथन कोड टाइप करने के लिए जगह प्रदान करता है जो एक मान लौटाता है। इसे गोलाकार इनपुट वाले ब्लॉकों के भीतर रखा जा सकता है।

रिपोर्टर ब्लॉक#
([] :: custom-switch)

एक रिपोर्टर ब्लॉक में पायथन कोड हो सकता है जो एक मान लौटाता है।

रिपोर्टर ब्लॉक जिसमें पायथन कोड है जो एक मान लौटाता है#
([drivetrain.rotation()] :: custom-switch)

रिपोर्टर ब्लॉक में गणितीय ऑपरेटरों का उपयोग किया जा सकता है:

  • जोड़: +

  • घटाव: -

  • विभाजन: /

  • गुणन: *

पायथन जोड़ के साथ रिपोर्टर ब्लॉक#
([drivetrain.rotation() + 45] :: custom-switch)
शुरू होने पर, रोबोट के मुड़ने के दौरान ड्राइवट्रेन के घूर्णन को प्रिंट करता है।#
जब शुरू हो :: hat events
[Display the rotation while turning.]
[दाएं v] दिशा में [450] डिग्री मुड़ें ◀ और प्रतीक्षा न करें
हमेशा
सभी पंक्तियां साफ़ करें
([drivetrain.rotation()] :: custom-switch) प्रिंट करें ▶
[0.1] सेकंड प्रतीक्षा करें
अंत

टोपी#

Hat ब्लॉक पाइथन फ़ंक्शन को परिभाषित करने के लिए एक स्थान प्रदान करता है। Hat के अंतर्गत संलग्न ब्लॉक उस फ़ंक्शन का मुख्य भाग बन जाते हैं।

टोपी ब्लॉक#
[] :: hat custom-switch

Hat ब्लॉक में एक पायथन फ़ंक्शन की परिभाषा लिखें। पैरामीटर कोष्ठकों के अंदर लिखें। यदि फ़ंक्शन पैरामीटर का उपयोग नहीं करता है, तो खाली कोष्ठकों का उपयोग करें।

पायथन फ़ंक्शन परिभाषा के साथ हैट ब्लॉक#
[def function_name(parameter):] :: hat custom-switch
शुरू होने पर, यह एक Hat ब्लॉक का उपयोग करके एक फ़ंक्शन को परिभाषित और कॉल करता है।#
[def drive_400():] :: hat custom-switch
[Create a function to drive the robot forward.]
[आगे v] दिशा में (400) [mm v] चलाएं ▶

जब शुरू हो :: hat events
[drive_400()] :: custom-switch