Skip to main content

പാഠം 3: ഒന്നിലധികം ലൂപ്പുകളുള്ള പ്രോജക്റ്റ് ഫ്ലോ

ഇപ്പോൾ നിങ്ങൾ VR റോബോട്ടിനെ Wall Maze Playgroundലെ 'A' എന്ന അക്ഷരത്തിലേക്ക് നാവിഗേറ്റ് ചെയ്യുന്നതിനുള്ള ഒരു ടെക്സ്റ്റ് പ്രോജക്റ്റ് സൃഷ്ടിച്ചു, കണ്ടീഷണലുകളും സെൻസർ മൂല്യങ്ങളും ഉപയോഗിച്ച് നിങ്ങളുടെ കഴിവുകൾ വികസിപ്പിക്കും. ഈ പാഠത്തിൽ, നിങ്ങൾ VR റോബോട്ടിനെ Wall Maze Playgroundലെ '2' എന്ന നമ്പറിലേക്ക് നാവിഗേറ്റ് ചെയ്യും, തുടർന്ന് 'B' എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്യാൻ അധിക കമാൻഡുകൾ ആവശ്യമായി വരുന്നത് എന്തുകൊണ്ടാണെന്ന് പര്യവേക്ഷണം ചെയ്യും. മിനി-ചലഞ്ചിൽ, വാൾ മേസിന്റെ തുടക്കം മുതൽ '3' എന്ന നമ്പറിലേക്ക് നാവിഗേറ്റ് ചെയ്യാൻ നിങ്ങൾ ഈ കഴിവുകൾ പ്രയോഗിക്കും.

കളിസ്ഥലത്തിന്റെ താഴെ മധ്യഭാഗത്തുള്ള പച്ച അമ്പടയാളത്തിൽ VR റോബോട്ട് ആരംഭിക്കുന്ന വാൾ മെയ്സ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. ഒരു ചുവന്ന ബോക്സിൽ 2 എന്ന സംഖ്യ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു, അത് മേജിന്റെ താഴെ ഇടത് ക്വാഡ്രന്റിന്റെ മധ്യഭാഗത്തായി, A എന്ന അക്ഷരത്തിനപ്പുറം ഇടതുവശത്തായി സ്ഥാപിച്ചിരിക്കുന്നു. മൂന്ന് ചുവരുകൾ ചുറ്റപ്പെട്ട ഒരു മൂലയിലാണ് 2 എന്ന സംഖ്യ സ്ഥിതി ചെയ്യുന്നത്.

പഠന ഫലങ്ങൾ

  • ബമ്പർ സെൻസർ അമർത്തുന്നതുവരെ ഒരു VR റോബോട്ട് ഡ്രൈവ് മുന്നോട്ട് പോകുന്ന ഒരു പ്രോജക്റ്റിലെ പ്രോഗ്രാം ഫ്ലോ വിവരിക്കുക.

പ്രോജക്റ്റിന്റെ പേര് മാറ്റുക

  • മുൻ പാഠത്തിലെ പ്രോജക്റ്റ് ലോഡ് ചെയ്തിട്ടില്ലെങ്കിൽ, Unit4Lesson2 പ്രോജക്റ്റ് ലോഡ് ചെയ്യുക.
  • പ്രോജക്റ്റിന്റെ പേര് Unit4Lesson3എന്ന് മാറ്റുക.VEXcode VR ടൂൾബാറിൽ യൂണിറ്റ് 4 പാഠം 3 പ്രോജക്റ്റ് നാമമായി കാണിക്കുന്നു. പ്രോജക്റ്റിന്റെ പേര് ഒരു ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു.

     

 

'A' എന്ന അക്ഷരത്തിലേക്ക് പദ്ധതിയുടെ ഒഴുക്ക്

മുൻ പാഠത്തിൽ, VR റോബോട്ട് Wall Maze Playgroundലെ 'A' എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്തു. വാൾ മേസിലെ ഒരു പുതിയ സ്ഥലത്തേക്ക് നാവിഗേറ്റ് ചെയ്യാൻ തയ്യാറെടുക്കുമ്പോൾ, പ്രോജക്റ്റ് ഫ്ലോ നമുക്ക് വിശകലനം ചെയ്യാം.

പ്ലേഗ്രൗണ്ടിന്റെ മധ്യഭാഗത്ത് ആരംഭ സ്ഥാനത്ത് VR റോബോട്ടുള്ള വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ടിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. എ എന്ന അക്ഷരം റോബോട്ടിന്റെ ഇടതുവശത്താണ്, ഒരു ചെറിയ ഭിത്തിയാൽ വേർതിരിച്ചിരിക്കുന്നു.
  • Wall Maze Playgroundലെ 'A' എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്യുന്നതിനുള്ള പ്രോജക്റ്റ് ഫ്ലോ നന്നായി മനസ്സിലാക്കാൻ, നിങ്ങളുടെ മുൻ പ്രോജക്റ്റ് പരിഷ്കരിച്ചുകൊണ്ട് ആരംഭിക്കുക അല്ലെങ്കിൽ ഈ അടിസ്ഥാന പ്രോജക്റ്റുമായി പൊരുത്തപ്പെടുന്നതിന് ഒരു പുതിയ പ്രോജക്റ്റ് സൃഷ്ടിക്കുക.

    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(LEFT, 90, DEGREES)
    
    	left_bumper.pressed അല്ലാത്തപ്പോൾ():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.stop()
  • ഒരു പ്രോജക്റ്റ് അല്ലാത്ത എന്ന അവസ്ഥയുള്ള whileലൂപ്പ് ഉപയോഗിക്കുമ്പോൾ, പ്രോജക്റ്റിന്റെ പ്രോഗ്രാം ഫ്ലോ ഇപ്പോഴും മുകളിൽ നിന്ന് താഴേക്ക് അതേ ക്രമം പിന്തുടരുന്നു. whileലൂപ്പ്, ഒരു വ്യവസ്ഥ പാലിക്കപ്പെടുന്നതുവരെ, ഒരു പ്രത്യേക ഘട്ടത്തിൽ പ്രോഗ്രാം ഫ്ലോ "താൽക്കാലികമായി നിർത്താൻ" അനുവദിക്കുന്നു. അല്ലഓപ്പറേറ്റർ, കണ്ടീഷൻ റിപ്പോർട്ട് ചെയ്യുന്നതുവരെ പ്രോജക്റ്റിനെ ലൂപ്പിൽ തുടരാൻ അനുവദിക്കുന്നു. പിന്നെ പ്രോജക്റ്റ് ലൂപ്പിന് പുറത്തുള്ള അടുത്ത കമാൻഡിലേക്ക് ഒഴുകും. ഇടത് ബമ്പർ അമർത്തുന്നത് പോലുള്ള ഒരു ബൂളിയൻ അവസ്ഥ ശരി അല്ലെങ്കിൽ തെറ്റ് മൂല്യം റിപ്പോർട്ട് ചെയ്യും. 'A' എന്ന അക്ഷരത്തിലേക്ക് VR റോബോട്ടിനെ നയിക്കുന്നതിനുള്ള ഈ കോഡിൽ, ഇടതു ബമ്പർ അമർത്തുന്നതിന്റെ ബൂളിയൻ അവസ്ഥ True ആകുന്നതുവരെ VR റോബോട്ട് മുന്നോട്ട് നയിക്കും.
    'A' എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്യുന്നതിനുള്ള പ്രോജക്റ്റിന്റെ പ്രോജക്റ്റ് ഫ്ലോ ഇതുപോലെ കാണപ്പെടും:ഇടതുവശത്ത് കാണിച്ചിരിക്കുന്ന A എന്ന അക്ഷരത്തിലേക്ക് നാവിഗേറ്റ് ചെയ്യുന്നതിന് മുകളിലുള്ള പ്രോജക്റ്റിന്റെ ഒഴുക്ക് വിവരിക്കുന്ന ഒരു പ്രോജക്റ്റ് ഫ്ലോ ഡയഗ്രം. വലതുവശത്ത്, അമ്പടയാളങ്ങൾ പ്രോജക്റ്റ് എങ്ങനെ ഒഴുകുന്നുവെന്ന് സൂചിപ്പിക്കുന്നു. ആദ്യം, ഒരു ചുവന്ന ചാക്രിക അമ്പടയാളം കാണിക്കുന്നത് ബമ്പർ അമർത്തിയിട്ടില്ലാത്തപ്പോൾ, while ലൂപ്പിന്റെ അവസ്ഥ തെറ്റാണെന്ന് തിരികെ നൽകുന്നതിനാൽ റോബോട്ട് മുന്നോട്ട് നീങ്ങുന്നു എന്നാണ്. അടുത്തതായി ഒരു പച്ച താഴേക്കുള്ള അമ്പടയാളം കാണിക്കുന്നത് ബമ്പർ അമർത്തുമ്പോൾ, അവസ്ഥ ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു, അതിനാൽ പ്രോജക്റ്റ് ആ ലൂപ്പിൽ നിന്ന് പുറത്തുകടക്കുകയും റോബോട്ട് 90 ഡിഗ്രി ഇടത്തേക്ക് തിരിയുകയും ചെയ്യുന്നു എന്നാണ്. പ്രോജക്റ്റിലെ ഓരോ ലൂപ്പിനും ഈ ശ്രേണി ആവർത്തിക്കുന്നു.

VR റോബോട്ടിന്റെ സ്വഭാവം ഓരോഉംലൂപ്പും എങ്ങനെ എക്സിക്യൂട്ട് ചെയ്യുന്നുവെന്ന് കാണിക്കുന്നു. VR റോബോട്ടിന്റെ ചലനത്തിനൊപ്പം, ഓരോനും ശേഷവും VR റോബോട്ട് എവിടേക്കാണ് നീങ്ങിയതെന്ന് നമുക്ക് വ്യക്തമായി കാണാൻ കഴിയും, അതേസമയം പ്രോജക്റ്റിലെലൂപ്പ് നടപ്പിലാക്കി.ഇടതുവശത്ത് മൂന്ന് തുടർച്ചയായ while ലൂപ്പുകൾ അടങ്ങുന്ന പൈത്തൺ കോഡ് കാണിക്കുന്നു, ഓരോന്നും ഇടത് ബമ്പർ അമർത്തുന്നത് വരെ റോബോട്ടിനോട് മുന്നോട്ട് പോകാൻ നിർദ്ദേശിക്കുന്നു. ഓരോ ലൂപ്പിലും ബമ്പർ അമർത്തിയാൽ, റോബോട്ട് ഒരു പ്രത്യേക പ്രവർത്തനം നടത്തുന്നു.  ആദ്യത്തെ ലൂപ്പിൽ, ബമ്പർ അമർത്തുന്നതുവരെ റോബോട്ട് മുന്നോട്ട് നീങ്ങുന്നു, തുടർന്ന് 90 ഡിഗ്രി ഇടത്തേക്ക് തിരിയുന്നു. വലതുവശത്തുള്ള ചിത്രത്തിൽ ഈ പ്രവർത്തനത്തിനുശേഷം ഒരു മസിലിൽ റോബോട്ടിന്റെ സ്ഥാനം കാണിക്കുന്നു, അതിൽ മഞ്ഞ വൃത്തം അടയാളപ്പെടുത്തിയിരിക്കുന്നു.  രണ്ടാമത്തെ ലൂപ്പിൽ, ബമ്പർ അമർത്തുന്നതുവരെ റോബോട്ട് വീണ്ടും മുന്നോട്ട് നീങ്ങുകയും തുടർന്ന് 90 ഡിഗ്രി ഇടത്തേക്ക് തിരിയുകയും ചെയ്യുന്നു. രണ്ടാമത്തെ ചിത്രം ഈ വളവിന് ശേഷം മസിലിൽ റോബോട്ടിന്റെ പുതുക്കിയ സ്ഥാനം കാണിക്കുന്നു.  മൂന്നാമത്തെയും അവസാനത്തെയും ലൂപ്പിൽ, ബമ്പർ അമർത്തുന്നതുവരെ റോബോട്ട് മുന്നോട്ട് നീങ്ങുന്നു. ബമ്പർ അമർത്തുമ്പോൾ, റോബോട്ട് ചലനം നിർത്തുന്നു. അവസാന ചിത്രം മസിലിനുള്ളിൽ റോബോട്ടിന്റെ നിർത്തൽ സ്ഥാനം കാണിക്കുന്നു, വീണ്ടും ഒരു മഞ്ഞ വൃത്തം കൊണ്ട് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു.

 

'2' എന്ന നമ്പറിലേക്ക് ഡ്രൈവ് ചെയ്യുക

ഈ പാഠത്തിൽ, VR റോബോട്ട് Wall Maze Playgroundൽ '2' എന്ന നമ്പറിലേക്ക് ഡ്രൈവ് ചെയ്യുന്ന തരത്തിൽ പ്രോജക്റ്റ് എഡിറ്റ് ചെയ്യും!

കളിസ്ഥലത്തിന്റെ താഴെ മധ്യഭാഗത്തുള്ള പച്ച അമ്പടയാളത്തിൽ VR റോബോട്ട് ആരംഭിക്കുന്ന വാൾ മെയ്സ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. ഒരു ചുവന്ന ബോക്സിൽ 2 എന്ന സംഖ്യ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു, അത് മേജിന്റെ താഴെ ഇടത് ക്വാഡ്രന്റിന്റെ മധ്യഭാഗത്തായി, A എന്ന അക്ഷരത്തിനപ്പുറം ഇടതുവശത്തായി സ്ഥാപിച്ചിരിക്കുന്നു. മൂന്ന് ചുവരുകൾ ചുറ്റപ്പെട്ട ഒരു മൂലയിലാണ് 2 എന്ന സംഖ്യ സ്ഥിതി ചെയ്യുന്നത്.
  • രണ്ടാം പാഠത്തിലെ പ്രോജക്റ്റിൽ VR റോബോട്ട് ഇടത്തേക്ക് തിരിഞ്ഞ് 'A' എന്ന അക്ഷരത്തിലേക്ക് പോകുന്നതായി കാണാം. '2' എന്ന നമ്പറിലേക്ക് നാവിഗേറ്റ് ചെയ്യുന്നതിന്, VR റോബോട്ട് പകരം വലത്തേക്ക് തിരിയണം, മുന്നോട്ട് ഡ്രൈവ് ചെയ്യണം, തുടർന്ന് ഇടത്തേക്ക് തിരിയണം.

    എ മാർക്കറിന് മുകളിൽ ഇടത് ഭിത്തിക്ക് അഭിമുഖമായി വിആർ റോബോട്ട് സ്ഥാപിച്ചിരിക്കുന്ന വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ടിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. ഒരു ചുവന്ന അമ്പടയാളം A യിലേക്ക് ചൂണ്ടുന്നു, മൂന്ന് പച്ച അമ്പടയാളങ്ങൾ 2 എന്ന നമ്പറിലേക്കുള്ള ഉദ്ദേശിച്ച പാതയെ സൂചിപ്പിക്കുന്നു. പച്ച അമ്പടയാളങ്ങൾ മുകളിലേക്ക് A യുടെ എതിർവശത്തുള്ള ഭിത്തിയിലേക്ക് ചൂണ്ടുന്നു, തുടർന്ന് ഇടതുവശത്തേക്ക് നമ്പർ 2 ന്റെ ഇടതുവശത്തുള്ള അടുത്ത ഭിത്തിയിലേക്ക് ചൂണ്ടുന്നു, തുടർന്ന് താഴേക്ക് നമ്പർ 2 പിടിച്ചിരിക്കുന്ന മൂലയിലേക്ക് ചൂണ്ടുന്നു.
  • രണ്ടാമത്തെ 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)
    
    	left_bumper.pressed അല്ലാത്തപ്പോൾ():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.stop()
  • വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ട് തുറന്നിട്ടില്ലെങ്കിൽ അത് സമാരംഭിച്ച് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
  • VR റോബോട്ട് '2' എന്ന നമ്പറിലേക്ക് ഓടിക്കാൻ തുടങ്ങുന്നത് കാണുക, പക്ഷേ ഒരു ചുവരിൽ നിർത്തുക. അതിനാൽ, ചുമരിൽ അമർത്തിയാൽ വിആർ റോബോട്ട് നിർത്തുന്നതിന് പകരം ഇടത്തേക്ക് തിരിയേണ്ടതുണ്ട്.

    A എന്ന അക്ഷരത്തിന് എതിർവശത്തുള്ള ഭിത്തിക്ക് അഭിമുഖമായി മുകളിലേക്ക് ചൂണ്ടുന്ന VR റോബോട്ട് ഉള്ള വാൾ മെയ്സ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച.
  • പ്ലേഗ്രൗണ്ട് പുനഃസജ്ജമാക്കാൻ "റീസെറ്റ്" ബട്ടൺ തിരഞ്ഞെടുത്ത് VR റോബോട്ടിനെ ആരംഭ സ്ഥാനത്തേക്ക് തിരികെ നീക്കുക.മുഴുവൻ കളിസ്ഥല ഇന്റർഫേസും കാണിക്കുന്ന വാൾ മെയ്സ് കളിസ്ഥലം. പ്ലേഗ്രൗണ്ട് ഇന്റർഫേസിന്റെ താഴെ ഇടതുവശത്തുള്ള റീസെറ്റ് ബട്ടൺ ഒരു ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു.

     

  • VR റോബോട്ടിനെ '2' എന്ന നമ്പറിലേക്ക് നയിക്കുന്നതിന്, stop കമാൻഡ് നീക്കം ചെയ്ത് താഴെ പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് കോഡ് എഡിറ്റ് ചെയ്യുക.

    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)
    
    	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(LEFT, 90, DEGREES)
    
    	left_bumper.pressed( അല്ലാത്തപ്പോൾ):
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.stop()
  • Wall Maze Playground തുറന്നിട്ടില്ലെങ്കിൽ അത് സമാരംഭിച്ച് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
  • വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ട്ൽ '2' എന്ന നമ്പറിലേക്ക് VR റോബോട്ട് ഡ്രൈവ് ചെയ്യുന്നത് കാണുക!

    വാൾ മെയ്സ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. ഇപ്പോൾ VR റോബോട്ട് 2 മാർക്കറിന് മുകളിലായി, താഴത്തെ ഭിത്തിക്ക് അഭിമുഖമായി, മുൻഭാഗം ഭിത്തിയിൽ അമർത്തിപ്പിടിച്ചിരിക്കുന്നു.
  • പ്ലേഗ്രൗണ്ട് പുനഃസജ്ജമാക്കാൻ "റീസെറ്റ്" ബട്ടൺ തിരഞ്ഞെടുത്ത് VR റോബോട്ടിനെ ആരംഭ സ്ഥാനത്തേക്ക് തിരികെ നീക്കുക.

ഈ പാഠത്തിന്റെ ബാക്കി ഭാഗം തുടരാൻ അടുത്തത് ബട്ടൺ തിരഞ്ഞെടുക്കുക.