മാറുക#

ആമുഖം#

ബ്ലോക്ക് അധിഷ്ഠിത കോഡിംഗിൽ നിന്ന് ടെക്സ്റ്റ് അധിഷ്ഠിത കോഡിംഗിലേക്ക് മാറാൻ സ്വിച്ച് ബ്ലോക്കുകൾ വിദ്യാർത്ഥികളെ സഹായിക്കുന്നു. സ്വിച്ച് ബ്ലോക്കുകൾ ഉപയോഗിച്ച്, വിദ്യാർത്ഥികൾക്ക് ബ്ലോക്ക് പ്രോജക്റ്റിനുള്ളിൽ നേരിട്ട് പൈത്തൺ കോഡ് ടൈപ്പ് ചെയ്യാൻ കഴിയും - കമാൻഡുകൾ, അവസ്ഥകൾ, മൂല്യങ്ങൾ അല്ലെങ്കിൽ ഫംഗ്ഷൻ നിർവചനങ്ങൾ എഴുതുക - അതേസമയം ബ്ലോക്കുകൾ ഉപയോഗിച്ച് പ്രോജക്റ്റിന്റെ ബാക്കി ഭാഗങ്ങൾ നിർമ്മിക്കുകയും ചെയ്യാം. വ്യക്തിഗത ബ്ലോക്കുകളെ അവയുടെ തുല്യമായ പൈത്തൺ കമാൻഡുകളാക്കി മാറ്റാനും കഴിയും.

പൈത്തൺ കമാൻഡുകൾ, രീതികൾ, ഓപ്പറേറ്ററുകൾ എന്നിവ എങ്ങനെ ടൈപ്പ് ചെയ്യാമെന്ന് അറിയാൻ, VEX CTE പൈത്തൺ API കാണുക.

സ്വിച്ച് ബ്ലോക്കുകളിൽ പൈത്തൺ കോഡ് അടങ്ങിയിരിക്കുന്നതിനാൽ, പ്രോജക്റ്റ് പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നതിന് സ്പെല്ലിംഗ്, വിരാമചിഹ്നം, ഇൻഡന്റേഷൻ എന്നിവ ശരിയായിരിക്കണം.

എല്ലാ സ്വിച്ച് ബ്ലോക്കുകളുടെയും ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:

ബ്ലോക്കുകൾ മാറുക — ഒരു ബ്ലോക്ക്സ് പ്രോജക്റ്റിലേക്ക് പൈത്തൺ കോഡ് ചേർക്കുക.

  • Stack — മറ്റ് സ്റ്റാക്ക് ബ്ലോക്കുകൾക്കൊപ്പം ക്രമത്തിൽ പ്രവർത്തിക്കുന്ന പൈത്തൺ കമാൻഡുകൾ ടൈപ്പ് ചെയ്യാൻ ഒരു സ്ഥലം നൽകുന്നു.

  • C Block — Provides a space to type Python control code, such as if, while, or for statements.

  • C വികസിപ്പിക്കാവുന്നത് — if, elif, അല്ലെങ്കിൽ else എന്നിങ്ങനെ ഒന്നിലധികം ശാഖകളുള്ള പൈത്തൺ നിയന്ത്രണ കോഡ് ടൈപ്പ് ചെയ്യാൻ ഒരു ഇടം നൽകുന്നു.

  • ബൂളിയൻ — True അല്ലെങ്കിൽ False നൽകുന്ന പൈത്തൺ കോഡ് ടൈപ്പ് ചെയ്യാൻ ഒരു സ്പേസ് നൽകുന്നു.

  • റിപ്പോർട്ടർ — ഒരു മൂല്യം നൽകുന്ന പൈത്തൺ കോഡ് ടൈപ്പ് ചെയ്യാൻ ഒരു ഇടം നൽകുന്നു.

  • Hat — ഒരു പൈത്തൺ ഫംഗ്ഷൻ നിർവചിക്കുന്നതിന് ഒരു സ്പേസ് നൽകുന്നു.

സ്റ്റാക്ക്#

സ്റ്റാക്ക് ബ്ലോക്ക്, മറ്റ് സ്റ്റാക്ക് ബ്ലോക്കുകൾക്കൊപ്പം ക്രമത്തിൽ പ്രവർത്തിക്കുന്ന പൈത്തൺ കമാൻഡുകൾ ടൈപ്പ് ചെയ്യുന്നതിനുള്ള ഒരു സ്ഥലം നൽകുന്നു.

സ്റ്റാക്ക് ബ്ലോക്ക്#
[] :: custom-switch

ഒരു സ്റ്റാക്ക് ബ്ലോക്കിൽ ഒരു വരിയോ ഒന്നിലധികം പൈത്തൺ കോഡോ അടങ്ങിയിരിക്കാം.

ആരംഭിക്കുമ്പോൾ, 6-ആക്സിസ് ആം ഒരു സ്ഥാനത്തേക്ക് നീക്കാൻ ഒരു സ്റ്റാക്ക് ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ :: hat events
[Move the 6-Axis Arm to a standard position at the start of the project.]
[arm.move_to(120, 120, 75, False)] :: custom-switch

സി ബ്ലോക്ക്#

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
अंत

C ബ്ലോക്കിൽ ഉപയോഗിക്കാവുന്ന പൈത്തൺ നിയന്ത്രണ കോഡിൽ ഇവ ഉൾപ്പെടുന്നു:

ആരംഭിക്കുമ്പോൾ, 6-ആക്സിസ് ആം ഒരു സ്ഥാനത്ത് എത്താൻ കഴിയുമോ എന്ന് പരിശോധിക്കാൻ ഒരു സി ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ :: hat events
[Check if the 6-Axis Arm can move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch
കൺസോളിൽ [The 6-Axis Arm can't move to this position.] പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക
अंत

സി വികസിപ്പിക്കാവുന്നത്#

C എക്സ്പാൻഡബിൾ ബ്ലോക്ക്, if, elif, അല്ലെങ്കിൽ elseഎന്നിങ്ങനെ ഒന്നിലധികം ബ്രാഞ്ചുകൾ ഉപയോഗിച്ച് പൈത്തൺ കൺട്രോൾ കോഡ് ടൈപ്പ് ചെയ്യാൻ ഒരു സ്പേസ് നൽകുന്നു. പ്ലസ് അമ്പടയാളം തിരഞ്ഞെടുത്ത് അധിക ബ്രാഞ്ചുകൾ ചേർക്കാൻ കഴിയും.

സി എക്സ്പാൻഡബിൾ ബ്ലോക്ക്#
if [] :: custom-switch-expand
अंत

C എക്സ്പാൻഡബിൾ ബ്ലോക്കിൽ ഉപയോഗിക്കാവുന്ന പൈത്തൺ നിയന്ത്രണ കോഡിൽ ഇവ ഉൾപ്പെടുന്നു:

ആരംഭിക്കുമ്പോൾ, 6-ആക്സിസ് ആം ഒരു സ്ഥാനത്ത് എത്താൻ കഴിയുമോ എന്ന് പരിശോധിക്കാൻ ഒരു C എക്സ്പാൻഡബിൾ ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Check if the 6-Axis Arm can or can't move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch-expand
കൺസോളിൽ [The 6-Axis Arm can't move to this position.] പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക
else [else:] :: custom-switch-expand
കൺസോളിൽ [The 6-Axis Arm can move to this position.] പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക
अंत

ബൂളിയൻ#

ബൂളിയൻ ബ്ലോക്ക് പൈത്തൺ കോഡ് ടൈപ്പ് ചെയ്യാൻ ഒരു സ്പേസ് നൽകുന്നു, അത് 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>
ആരംഭിക്കുമ്പോൾ, 6-ആക്സിസ് ആം ഒരു സ്ഥാനത്ത് എത്താൻ കഴിയുമോ എന്ന് പരിശോധിക്കാൻ ഒരു ബൂളിയൻ ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Check if the 6-Axis Arm can move to a position.]
<<[arm.can_arm_reach_to(0, 0, 0)] :: custom-switch> അല്ല> ആണെങ്കിൽ
കൺസോളിൽ [The 6-Axis Arm can't move to this position.] പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക
अंत

റിപ്പോർട്ടർ#

Reporter ബ്ലോക്ക് പൈത്തൺ കോഡ് ടൈപ്പ് ചെയ്യുന്നതിനുള്ള ഒരു സ്ഥലം നൽകുന്നു, അത് ഒരു മൂല്യം തിരികെ നൽകുന്നു. വൃത്താകൃതിയിലുള്ള ഇൻപുട്ടുകൾ ഉപയോഗിച്ച് ഇത് ബ്ലോക്കുകൾക്കുള്ളിൽ സ്ഥാപിക്കാൻ കഴിയും.

റിപ്പോർട്ടർ ബ്ലോക്ക്#
([] :: custom-switch)

ഒരു റിപ്പോർട്ടർ ബ്ലോക്കിൽ ഒരു മൂല്യം നൽകുന്ന പൈത്തൺ കോഡ് അടങ്ങിയിരിക്കാം.

ഒരു മൂല്യം നൽകുന്ന പൈത്തൺ കോഡുള്ള റിപ്പോർട്ടർ ബ്ലോക്ക്.#
([arm.get_y()] :: custom-switch)

റിപ്പോർട്ടർ ബ്ലോക്കിൽ ഗണിത ഓപ്പറേറ്റർമാരെ ഉപയോഗിക്കാം:

  • കൂട്ടിച്ചേർക്കൽ: +

  • കുറയ്ക്കൽ: -

  • ഡിവിഷൻ: /

  • ഗുണനം: *

പൈത്തൺ കൂട്ടിച്ചേർക്കലുള്ള റിപ്പോർട്ടർ ബ്ലോക്ക്#
([arm.get_y() + 45] :: custom-switch)
ആരംഭിക്കുമ്പോൾ, 6-ആക്സിസ് ആം ചലിക്കുമ്പോൾ നിലവിലെ y-സ്ഥാനം പ്രിന്റ് ചെയ്യുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Display the current y-position while the 6-Axis Arm moves.]
[കൈ v] x:(-100) y:(200) z:(100) [mm v] സ്ഥാനത്തേക്ക് നീക്കുക ◀ കാത്തിരിക്കേണ്ട
<[കൈ v] നീക്കം പൂർത്തിയായോ?> വരെ ആവർത്തിക്കുക
കൺസോളിൽ ([arm.get_y()] :: custom-switch) പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക
[0.25] സെക്കൻഡ് കാത്തിരിക്കുക
अंत

തൊപ്പി#

Hat ബ്ലോക്ക് ഒരു പൈത്തൺ ഫംഗ്‌ഷൻ നിർവചിക്കുന്നതിന് ഒരു ഇടം നൽകുന്നു. Hat ന് കീഴിൽ ഘടിപ്പിച്ചിരിക്കുന്ന ബ്ലോക്കുകൾ ആ ഫംഗ്‌ഷന്റെ ബോഡിയായി മാറുന്നു.

തൊപ്പി ബ്ലോക്ക്#
[] :: hat custom-switch

Hat ബ്ലോക്കിൽ ഒരു പൈത്തൺ ഫംഗ്ഷൻ നിർവചനം ടൈപ്പ് ചെയ്യുക. പാരാമീറ്ററുകൾ പരാൻതീസിസിനുള്ളിൽ പോകും. ഫംഗ്ഷൻ പാരാമീറ്ററുകൾ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, ശൂന്യമായ പരാൻതീസിസുകൾ ഉപയോഗിക്കുക.

പൈത്തൺ ഫംഗ്ഷൻ നിർവചനമുള്ള ഹാറ്റ് ബ്ലോക്ക്#
[def function_name(parameter):] :: hat custom-switch
ആരംഭിക്കുമ്പോൾ, ഒരു ഫംഗ്ഷൻ നിർവചിക്കാനും വിളിക്കാനും ഒരു ഹാറ്റ് ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
[def increment_y_100():] :: hat custom-switch
[Create a function to increment the 6-Axis Arm.]
[കൈ v] x:[0] y:[100] z:[0] [mm v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶

ആരംഭിക്കുമ്പോൾ :: hat events
[increment_y_100()] :: custom-switch