മാറുക#

ആമുഖം#

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

പൈത്തൺ കമാൻഡുകൾ, രീതികൾ, ഓപ്പറേറ്ററുകൾ എന്നിവ എങ്ങനെ ടൈപ്പ് ചെയ്യാമെന്ന് അറിയാൻ, VEX AIM പൈത്തൺ 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

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

ആരംഭിക്കുമ്പോൾ, റോബോട്ടിനെ മുന്നോട്ട് നീക്കാൻ ഒരു സ്റ്റാക്ക് ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Move forward 400 mm.]
[robot.move_for(400, 0)] :: 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 ബ്ലോക്കിൽ ഉപയോഗിക്കാവുന്ന പൈത്തൺ നിയന്ത്രണ കോഡിൽ ഇവ ഉൾപ്പെടുന്നു:

ആരംഭിക്കുമ്പോൾ, സ്ക്രീൻ അമർത്തിയോ എന്ന് പരിശോധിക്കാൻ ഒരു സി ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Continuously turn right until the screen is pressed.]
[വലത് v] ദിശയിൽ തിരിക്കുക
എന്നും
if [if robot.screen.pressing():] :: custom-switch
സ്‌ക്രീനിൽ [Screen was pressed!] പ്രിൻ്റ് ചെയ്യുക ▶
എല്ലാ ചലനവും നിർത്തുക
अंत
अंत

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

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

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

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

ആരംഭിക്കുമ്പോൾ, റോബോട്ടിന് ഒരു സ്പോർട്സ് ബോൾ ലഭിക്കുന്നത് വരെ നീങ്ങാൻ ഒരു C എക്സ്പാൻഡബിൾ ബ്ലോക്ക് ഉപയോഗിക്കുക.#
ആരംഭിക്കുമ്പോൾ
[Continuously move forward until the robot has a sports ball.]
എന്നും
if [if robot.has_sports_ball():] :: custom-switch-expand
സ്‌ക്രീനിൽ [Sports ball found!] പ്രിൻ്റ് ചെയ്യുക ▶
എല്ലാ ചലനവും നിർത്തുക
else [else:]
[മുന്നോട്ട് v] ദിശയിൽ നീക്കുക
अंत
अंत

ബൂളിയൻ#

ബൂളിയൻ ബ്ലോക്ക് പൈത്തൺ കോഡ് ടൈപ്പ് ചെയ്യാൻ ഒരു സ്പേസ് നൽകുന്നു, അത് True അല്ലെങ്കിൽ Falseനൽകുന്നു. ഇത് ഷഡ്ഭുജ ഇൻപുട്ടുകൾ ഉപയോഗിച്ച് ബ്ലോക്കുകൾക്കുള്ളിൽ സ്ഥാപിക്കാൻ കഴിയും.

ബൂളിയൻ ബ്ലോക്ക്#
<[] :: custom-switch>

ഒരു ബൂളിയൻ ബ്ലോക്കിൽ ഒരു പൈത്തൺ അവസ്ഥ അടങ്ങിയിരിക്കാം.

പൈത്തൺ അവസ്ഥയുള്ള ബൂളിയൻ ബ്ലോക്ക്#
<[robot.screen.pressing()] :: custom-switch>

ഒരു ബൂളിയൻ ബ്ലോക്കിന് ലോജിക്കൽ ഓപ്പറേറ്റർമാരെയും ഉപയോഗിക്കാം:

പൈത്തൺ ലോജിക്കൽ ഓപ്പറേറ്ററുള്ള ബൂളിയൻ ബ്ലോക്ക്#
<[robot.screen.pressing() and robot.has_sports_ball()] :: custom-switch>

മൂല്യങ്ങൾ താരതമ്യം ചെയ്യാൻ ഒരു ബൂളിയൻ ബ്ലോക്കിന് താരതമ്യ ഓപ്പറേറ്ററുകൾ ഉപയോഗിക്കാം:

  • ഇതിലും വലുത്: >

  • ഇതിൽ കുറവ്: <

  • തുല്യം: ==

  • മറ്റ് താരതമ്യ ഓപ്പറേറ്ററുകളിൽ <=, !=, >= എന്നിവ ഉൾപ്പെടുന്നു.

പൈത്തൺ താരതമ്യ ഓപ്പറേറ്ററുള്ള ബൂളിയൻ ബ്ലോക്ക്#
<[robot.inertial.get_heading()> 100] :: custom-switch>
ആരംഭിക്കുമ്പോൾ, സ്ക്രീൻ അമർത്തിയോ എന്ന് പരിശോധിക്കാൻ ഒരു ബൂളിയൻ ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Continuously turn right until the screen is pressed.]
[വലത് v] ദിശയിൽ തിരിക്കുക
എന്നും
<[robot.screen.pressing()] :: custom-switch> ആണെങ്കിൽ
സ്‌ക്രീനിൽ [Screen was pressed!] പ്രിൻ്റ് ചെയ്യുക ▶
എല്ലാ ചലനവും നിർത്തുക
अंत
अंत

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

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

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

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

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

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

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

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

  • ഡിവിഷൻ: /

  • ഗുണനം: *

പൈത്തൺ കൂട്ടിച്ചേർക്കലുള്ള റിപ്പോർട്ടർ ബ്ലോക്ക്#
([robot.inertial.get_heading() + 45] :: custom-switch)
ആരംഭിക്കുമ്പോൾ, റോബോട്ടിന്റെ തലക്കെട്ട് 45 ഡിഗ്രിയും ചേർത്ത് പ്രിന്റ് ചെയ്യുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Print the robot's heading plus 45 degrees.]
സ്‌ക്രീനിൽ ([robot.inertial.get_heading() + 45] :: custom-switch) പ്രിൻ്റ് ചെയ്യുക ▶

തൊപ്പി#

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

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

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

പൈത്തൺ ഫംഗ്ഷൻ നിർവചനമുള്ള ഹാറ്റ് ബ്ലോക്ക്#
[def function_name(parameter):] :: hat custom-switch
ആരംഭിക്കുമ്പോൾ, ഒരു ഫംഗ്ഷൻ നിർവചിക്കാനും വിളിക്കാനും ഒരു ഹാറ്റ് ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.#
[def move_400():] :: hat custom-switch
[Define a custom function using a Hat block.]
[മുന്നോട്ട് v] ദിശയിൽ (400) [mm v] നീക്കുക ▶

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