Skip to main content

പാഠം 2: If/Else കണ്ടീഷണൽ സ്റ്റേറ്റ്മെന്റുകൾ

ഈ പാഠത്തിൽ, ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്ലെ കുറഞ്ഞത് രണ്ട് കെട്ടിടങ്ങളെങ്കിലും VR റോബോട്ട് ഇടിച്ചുനിരത്തുന്ന ഒരു പ്രോജക്റ്റ് നിങ്ങൾ സൃഷ്ടിക്കും. ഓരോ റീസെറ്റിലും പ്ലേഗ്രൗണ്ട് ലേഔട്ട് മാറുന്നതിനാൽ, ലൂപ്പുകളും സെൻസർ ഫീഡ്‌ബാക്കും ഉപയോഗിച്ച് വെല്ലുവിളി പരിഹരിക്കാൻ ഒരു അൽഗോരിതം ആവശ്യമായി വരും.

ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട് ലേഔട്ടുകളുടെ ഉദാഹരണങ്ങൾ:

ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ടിന്റെ സാമ്പിൾ ലേഔട്ടുകളുടെ മൂന്ന് മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ചകൾ, റോബോട്ട് ഒരേ ആരംഭ സ്ഥാനത്തും കോട്ടകൾ വ്യത്യസ്ത സ്ഥാനങ്ങളിലും. കളിസ്ഥലം പുനഃസജ്ജമാക്കുമ്പോഴെല്ലാം കോട്ടകളുടെ സ്ഥാനം മാറുന്നത് എങ്ങനെയെന്ന് ഊന്നിപ്പറയുന്നതിനാണ് ലേഔട്ടുകൾ അടുത്തടുത്തായി നൽകിയിരിക്കുന്നത്.

പഠന ഫലങ്ങൾ

  • റിപ്പോർട്ട് ചെയ്ത ബൂളിയൻ മൂല്യത്തെ അടിസ്ഥാനമാക്കി, If അല്ലെങ്കിൽ Else ബ്രാഞ്ചിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്ന ഒരു C ബ്ലോക്കാണ് [If then else] ബ്ലോക്ക് എന്ന് തിരിച്ചറിയുക.
  • ഒന്നിലധികം തവണ അവസ്ഥ പരിശോധിക്കുന്നതിനായി ഒരു [If then else] ബ്ലോക്ക് സാധാരണയായി ഒരു [Repeat] അല്ലെങ്കിൽ ഒരു [Forever] ബ്ലോക്കിനൊപ്പം ഉപയോഗിക്കുന്നുവെന്ന് തിരിച്ചറിയുക.
  • ലൂപ്പുകളോടൊപ്പം ഒരു [If then else] ബ്ലോക്ക് ഉപയോഗിക്കുന്നത് എന്തുകൊണ്ടാണെന്ന് തിരിച്ചറിഞ്ഞ് വിവരിക്കുക.
  • ഒരു പ്രോജക്റ്റിൽ [If then else] ബ്രാഞ്ച് പ്രവർത്തിപ്പിക്കാൻ കാരണമെന്താണെന്ന് വിവരിക്കുക.

[അങ്ങനെയെങ്കിൽ] ബ്ലോക്ക് എങ്ങനെ ഉപയോഗിക്കാം

യൂണിറ്റ് 2 ലെ കാസിൽ ക്രാഷർ ചലഞ്ചിൽ നിന്ന് ഈ വെല്ലുവിളി വ്യത്യസ്തമാണ്. യൂണിറ്റ് 2 ചലഞ്ചിൽ ലളിതമായ സീക്വൻസിംഗും ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകളും ഉപയോഗിച്ച് ഒരു സ്റ്റാറ്റിക് കളിസ്ഥലത്തെ കെട്ടിടങ്ങൾ പൊളിച്ചുമാറ്റി.

യൂണിറ്റ് 2 ൽ നിന്നുള്ള ഒരു സാമ്പിൾ VEXcode VR പ്രോജക്റ്റ്. ഈ പ്രോജക്റ്റ് ആരംഭിക്കുന്നത് 'എപ്പോൾ ആരംഭിച്ചിരിക്കുന്നു' എന്ന ബ്ലോക്കിലാണ്, അതിൽ 6 ബ്ലോക്കുകൾ ഘടിപ്പിച്ചിരിക്കുന്നു. ബ്ലോക്കുകളിൽ, ഡ്രൈവ് പ്രവേഗം 100% ആയി സജ്ജീകരിക്കുക; ടേൺ പ്രവേഗം 100% ആയി സജ്ജീകരിക്കുക; 1550mm മുന്നോട്ട് ഡ്രൈവ് ചെയ്യുക; 180 ഡിഗ്രി വലത്തേക്ക് തിരിയുക; 700mm മുന്നോട്ട് ഡ്രൈവ് ചെയ്യുക; തുടർന്ന് 90 ഡിഗ്രി വലത്തേക്ക് തിരിയുക എന്നിങ്ങനെ ക്രമത്തിൽ എഴുതിയിരിക്കുന്നു.

ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്ന്റെ മാറിക്കൊണ്ടിരിക്കുന്ന ലേഔട്ടുകൾ കാരണം VR റോബോട്ട് രണ്ടോ അതിലധികമോ കെട്ടിടങ്ങൾ ഇടിച്ചുനിരത്താൻ ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ മാത്രം മതിയാകില്ല. ഒരു കൂട്ടം ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾ ഒരു പ്ലേഗ്രൗണ്ടിൽ പ്രവർത്തിച്ചേക്കാം, പക്ഷേ മറ്റൊന്നിൽ പ്രവർത്തിക്കില്ല. സെൻസറുകളും തിരഞ്ഞെടുപ്പും ഉപയോഗിക്കുന്ന ഒരു അൽഗോരിതം ആവശ്യമായി വരും. ഈ പ്രോജക്റ്റിലേക്ക് കണ്ടീഷണൽ സ്റ്റേറ്റ്മെന്റുകൾക്കൊപ്പം സെലക്ഷൻ ചേർത്ത് ഒരു അൽഗോരിതം സൃഷ്ടിക്കാൻ [If then else] ബ്ലോക്ക് ഉപയോഗിക്കും.

ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ടിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, ചില കാസിലുകൾ മാത്രം മറിഞ്ഞുവീണതും മറ്റുള്ളവ സ്പർശിക്കപ്പെടാത്തതുമാണ്, കോട്ടകളുടെ സ്ഥാനം ക്രമരഹിതമായി മാറുമ്പോൾ ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾ മാത്രം എങ്ങനെ പര്യാപ്തമല്ലെന്ന് ഇത് ചിത്രീകരിക്കുന്നു.

ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്ലെ കെട്ടിടങ്ങൾ തകർക്കാൻ VR റോബോട്ടിന് രണ്ട് പ്രധാന ഘട്ടങ്ങളുണ്ട്.

  1. VR റോബോട്ട് ഒരു കൊട്ടാര കെട്ടിടം കണ്ടെത്തിയാൽ, അത് ഇടിച്ചുനിരത്താൻ അതിലേക്ക് മുന്നോട്ട് ഓടിക്കുക.
    1. മറ്റെല്ലാ പ്ലേഗ്രൗണ്ടുകളിൽ നിന്നും വ്യത്യസ്തമായി, ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട് മതിലുകളില്ല. ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്ലെ ഒരേയൊരു വസ്തുക്കൾ കെട്ടിടങ്ങൾ ആയതിനാൽ, കെട്ടിടങ്ങൾ കണ്ടെത്താൻ ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കാം.

      ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ടിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, റോബോട്ടിനെ ആരംഭ സ്ഥാനത്ത്, ലേഔട്ടിന്റെ താഴെ മധ്യഭാഗത്ത്, ചുവന്ന ബോക്സിൽ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന റോബോട്ടിന് നേരെ മുന്നിലുള്ള ഒരു കോട്ടയിലേക്ക് ഒരു ഡോട്ട് ഇട്ട അമ്പടയാളം. സെൻസറിന് മുന്നിലുള്ള ഒരു വസ്തുവായി കാസിൽ കണ്ടെത്താൻ കഴിയുമെന്ന് അമ്പടയാളം സൂചിപ്പിക്കുന്നു.
  2. VR റോബോട്ട് ഒരു കൊട്ടാര കെട്ടിടം കണ്ടെത്തിയില്ലെങ്കിൽ, തിരിഞ്ഞ് വീണ്ടും ഒരു കൊട്ടാര കെട്ടിടത്തിനായി പരിശോധിക്കുക.
    1. ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്ലെ ഒരേയൊരു വസ്തുക്കൾ കെട്ടിടങ്ങൾ ആയതിനാൽ, കോട്ട കെട്ടിടങ്ങൾ കണ്ടെത്താൻ ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കാം.

      ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ടിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, ആരംഭ സ്ഥാനത്ത് റോബോട്ടും അതിന്റെ ഇരുവശത്തും വളഞ്ഞ അമ്പടയാളങ്ങളും, ഒരു കാസിൽ ഒബ്ജക്റ്റ് കണ്ടെത്തുന്നതുവരെ തിരിയേണ്ടതിന്റെ ആവശ്യകതയെ സൂചിപ്പിക്കുന്നു.

1 ഉം 2 ഉം ഘട്ടങ്ങൾ പൂർത്തിയായിക്കഴിഞ്ഞാൽ, VR റോബോട്ടിന് 1-ാം ഘട്ടത്തിലേക്ക് തിരികെ പോയി ദൂര സെൻസർ ഉപയോഗിച്ച് അടുത്ത കെട്ടിടം എവിടെയാണ് തകരേണ്ടതെന്ന് കണ്ടെത്താനാകും.

  • VEXcode VR-ൽ ഒരു പുതിയ പ്രോജക്റ്റ് ആരംഭിച്ച് പ്രോജക്റ്റിന് എന്ന് പേരിടുക Unit9Lesson2.

    Select Playground ബട്ടണിന്റെ ഇടതുവശത്ത് ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന VEXcode VR ടൂൾബാറിന്റെ മധ്യഭാഗത്തുള്ള പ്രോജക്റ്റ് നെയിം ബോക്സ്. പ്രോജക്റ്റിന്റെ പേര് യൂണിറ്റ് 9 പാഠം 2 എന്നാണ്.
  • വർക്ക്‌സ്‌പെയ്‌സിലേക്ക് രണ്ട് [അഭിപ്രായം] ബ്ലോക്കുകൾ ചേർത്ത് മുകളിൽ വിവരിച്ച ഘട്ടങ്ങൾ പൂരിപ്പിക്കുക.

    ആരംഭിച്ചപ്പോൾ ബ്ലോക്കിൽ രണ്ട് കമന്റ് ബ്ലോക്കുകൾ ഘടിപ്പിച്ചിരിക്കുന്ന ഒരു പുതിയ VEXcode VR പ്രോജക്റ്റ്. അഭിപ്രായങ്ങൾ ക്രമത്തിൽ വായിക്കുന്നു: ദൂര സെൻസർ ഉപയോഗിച്ച് കണ്ടെത്തിയ കെട്ടിടം തട്ടുക; ദൂര സെൻസർ ഉപയോഗിച്ച് ഒരു കെട്ടിടം കണ്ടെത്താൻ തിരിയുക.
  • മുകളിൽ വിവരിച്ച ഓരോ പ്രവർത്തനങ്ങളും ട്രിഗർ ചെയ്യാൻ [If then else] ബ്ലോക്ക് ഉപയോഗിക്കാം. [If then else] ബ്ലോക്കിലെ ബൂളിയൻ അവസ്ഥ ശരിയാണോ തെറ്റാണോ എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നുണ്ടോ എന്നതിനെ ആശ്രയിച്ചിരിക്കും ഓരോ പ്രവർത്തനവും. [അഭിപ്രായം] ബ്ലോക്കുകൾക്ക് താഴെ ഒരു [അല്ലെങ്കിൽ മറ്റെന്തെങ്കിലും] ബ്ലോക്ക് ചേർക്കുക.

    രണ്ടാമത്തെ കമന്റിന് താഴെ "If then else" ബ്ലോക്ക് ഘടിപ്പിച്ചിരിക്കുന്ന അതേ VEXcode VR പ്രോജക്റ്റ്. If ബ്രാഞ്ചിന്റെ പാരാമീറ്റർ തുറന്നിട്ടിരിക്കുന്നു.

    നിങ്ങളുടെ അറിവിലേക്കായി

    [If then else] ബ്ലോക്ക് എന്നത് ബൂളിയൻ റിപ്പോർട്ടർ ബ്ലോക്കുകളെ ഇൻപുട്ടായി സ്വീകരിക്കുന്ന ഒരു C ബ്ലോക്കാണ്. [If then else] ബ്ലോക്ക് എന്നത് ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്ക് നിയന്ത്രിക്കുന്ന ഒരു കണ്ടീഷണൽ സ്റ്റേറ്റ്മെന്റാണ്. വ്യവസ്ഥ പാലിക്കപ്പെട്ടാൽ [If then else] ബ്ലോക്ക് ഒരു പ്രത്യേക നിർദ്ദേശ ശ്രേണി നടപ്പിലാക്കും, വ്യവസ്ഥ പാലിക്കപ്പെട്ടില്ലെങ്കിൽ മറ്റൊരു കൂട്ടം നിർദ്ദേശങ്ങളും നടപ്പിലാക്കും, അതുവഴി പ്രോജക്റ്റ് ഫ്ലോയെ 'ബ്രാഞ്ച്' ചെയ്യും. [അല്ലെങ്കിൽ] എന്നതിലെ ഒരു ശാഖ മാത്രമേ നടപ്പിലാക്കൂ.

    VEXcode VR ടൂൾബോക്സിൽ നിന്ന് ഒരു If then else ബ്ലോക്ക്.
    • അവസ്ഥ TRUE ആയി റിപ്പോർട്ട് ചെയ്തിട്ടുണ്ടെങ്കിൽ, If Then ബ്രാഞ്ചിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കപ്പെടും.
    • അവസ്ഥ തെറ്റാണെന്ന് റിപ്പോർട്ട് ചെയ്താൽ, Else ബ്രാഞ്ചിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കപ്പെടും.
    If then else ബ്ലോക്കിന്റെ ഓരോ ശാഖയുടെയും പ്രവർത്തനം ചിത്രീകരിക്കാൻ ഒരു VEXcode VR പ്രോജക്റ്റ് ഉപയോഗിക്കുന്നു. ഈ പ്രോജക്റ്റിൽ, If then else ബ്ലോക്ക് ഒരു When started-ൽ ഘടിപ്പിച്ചിരിക്കുന്നു, തുടർന്ന് If Front Distance found an object എന്ന് വായിക്കുന്നു, തുടർന്ന് Comment - Distance Sensor ഉപയോഗിച്ച് കണ്ടെത്തിയ കെട്ടിടത്തിന് മുകളിലൂടെ ഓടിക്കുക; അല്ലെങ്കിൽ, Distance Sensor ഉപയോഗിച്ച് ഒരു കെട്ടിടം കണ്ടെത്താൻ തിരിയുക, തുടർന്ന് വലത്തേക്ക് തിരിയുക. 'If then' ബ്രാഞ്ച്, Distance Sensor ഒരു വസ്തുവിനെ കണ്ടെത്തിയാൽ മുന്നോട്ട് ഡ്രൈവ് ചെയ്യുക എന്ന് ലേബൽ ചെയ്തിരിക്കുന്നു. ദൂര സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തിയില്ലെങ്കിൽ 'Else' ബ്രാഞ്ച് വലത്തേക്ക് തിരിയുക എന്ന് ലേബൽ ചെയ്തിരിക്കുന്നു.

    ഒരു ശാഖയ്ക്കുള്ളിലെ എല്ലാ ബ്ലോക്കുകളും പ്രവർത്തിപ്പിച്ചുകഴിഞ്ഞാൽ, പ്രോജക്റ്റ് [അല്ലെങ്കിൽ അങ്ങനെയാണെങ്കിൽ] ബ്ലോക്കിന് പുറത്തുള്ള അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങും.

  • ഈ പ്രോജക്റ്റിൽ, കളിസ്ഥലത്തെ കെട്ടിടങ്ങൾ കണ്ടെത്താൻ ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കാം. [അല്ലെങ്കിൽ] ബ്ലോക്കിലേക്ക് ഒരു <Distance found object> ബ്ലോക്ക് ചേർക്കുക.

    മുമ്പത്തെ അതേ VEXcode VR പ്രോജക്റ്റ്, If then ബ്രാഞ്ചിന്റെ പാരാമീറ്ററായി ഒരു Distance Found ഒബ്‌ജക്റ്റ് ബ്ലോക്ക് ചേർത്തിരിക്കുന്നു. ഇപ്പോള്‍ കാണുന്ന If then ബ്ലോക്ക്, If Front Distance found an object then എന്ന് വായിക്കുന്നു.

    നിങ്ങളുടെ അറിവിലേക്കായി

    <Distance found object> ബ്ലോക്ക് എന്നത് ഒരു ബൂളിയൻ റിപ്പോർട്ടർ ബ്ലോക്കാണ്, അത് ഡിസ്റ്റൻസ് സെൻസർ VR റോബോട്ടിന് മുന്നിൽ ഒരു വസ്തു കണ്ടെത്തിയാൽ അത് റിപ്പോർട്ട് ചെയ്യുന്നു. VR റോബോട്ടിന്റെ 3000 മില്ലിമീറ്ററിനുള്ളിൽ (mm) ഒരു വസ്തുവോ പ്രതലമോ ഉള്ളപ്പോൾ ഈ ബ്ലോക്ക് TRUE എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു.

    ടൂൾബോക്സിൽ നിന്നുള്ള ഡിസ്റ്റൻസ് കണ്ടെത്തിയ ഒബ്ജക്റ്റ് VEXcode VR ബ്ലോക്ക്, ഫ്രണ്ട് ഡിസ്റ്റൻസ് കണ്ടെത്തിയ ഒരു ഒബ്ജക്റ്റ്?
  • ഇനി [If then else] ബ്ലോക്കിന്റെ ഓരോ ശാഖയും പ്രോജക്റ്റിന്റെ തുടക്കത്തിൽ സൃഷ്ടിച്ച അഭിപ്രായങ്ങൾ ഉപയോഗിച്ച് നിർവചിക്കേണ്ടതുണ്ട്. <Distance found object> ബ്ലോക്ക് ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യുമ്പോൾ, VR റോബോട്ട് ആ കെട്ടിടം തകർക്കാൻ നേരെ ഓടിക്കണം. ആ [അഭിപ്രായം] ബ്ലോക്ക് പ്രോജക്റ്റിന്റെ 'If Then' ബ്രാഞ്ചിലേക്ക് മാറ്റുക.

    ആദ്യ കമന്റുള്ള അതേ VEXcode VR പ്രോജക്റ്റ് If then ബ്രാഞ്ചിന്റെ C യിലേക്ക് മാറ്റി. പ്രോജക്റ്റ് ഇപ്പോൾ വായിക്കുന്നത് When Started, If Front Distance found an object, then Knock over the building found using Distance Sensor.
  • VR റോബോട്ട് ഒരു കെട്ടിടം കണ്ടെത്തിയില്ലെങ്കിൽ എന്ത് സംഭവിക്കുമെന്ന് അറിയാൻ മറ്റേ [അഭിപ്രായം] ബ്ലോക്ക് പ്രോജക്റ്റിന്റെ 'Else' ബ്രാഞ്ചിലേക്ക് നീക്കുക.

    മറ്റേ ബ്രാഞ്ചിലെ സി യിൽ രണ്ടാമത്തെ കമന്റുള്ള അതേ VEXcode VR പ്രോജക്റ്റ്. പ്രോജക്റ്റ് ഇപ്പോൾ വായിക്കുന്നത് ആരംഭിക്കുമ്പോൾ, ഫ്രണ്ട് ഡിസ്റ്റൻസ് ഒരു വസ്തുവിനെ കണ്ടെത്തിയാൽ, ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിച്ച് കണ്ടെത്തിയ കെട്ടിടത്തെ തട്ടുക; അല്ലെങ്കിൽ, ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിച്ച് ഒരു കെട്ടിടം കണ്ടെത്താൻ തിരിയുക എന്നാണ്.
  • [If then else] ബ്ലോക്കിന്റെ 'If Then' ബ്രാഞ്ചിലേക്ക് ഒരു [Drive] ബ്ലോക്ക് ചേർക്കുക.

    If then ബ്രാഞ്ചിലെ ആദ്യ കമന്റിന് താഴെയായി ഫോർവേഡ് ചെയ്യാൻ ഒരു ഡ്രൈവ് ബ്ലോക്ക് സജ്ജീകരിച്ചിരിക്കുന്ന അതേ VEXcode VR പ്രോജക്റ്റ്. ഇപ്പോൾ If then ബ്രാഞ്ചിൽ, "Front Distance ഒരു വസ്തുവിനെ കണ്ടെത്തിയാൽ, Distance സെൻസർ ഉപയോഗിച്ച് കണ്ടെത്തിയ കെട്ടിടത്തിന് മുകളിലൂടെ കമന്റ് ചെയ്യുക" എന്ന് വായിക്കുന്നു; മുന്നോട്ട് ഡ്രൈവ് ചെയ്യുക.
  • <Distance found object> ബ്ലോക്ക് FALSE റിപ്പോർട്ട് ചെയ്യുമ്പോൾ, VR റോബോട്ട് തിരിഞ്ഞു നിന്ന് പ്ലേഗ്രൗണ്ടിൽ ഒരു കെട്ടിടം കണ്ടെത്തേണ്ടതുണ്ട്. [If then else] ബ്ലോക്കിന്റെ 'Else' ബ്രാഞ്ചിൽ [Comment] ബ്ലോക്കിന് താഴെ ഒരു [Turn] ബ്ലോക്ക് ചേർക്കുക.

    എൽസ് ബ്രാഞ്ചിലെ രണ്ടാമത്തെ കമന്റിന് താഴെ വലതുവശത്ത് ഒരു ടേൺ ബ്ലോക്ക് സജ്ജീകരിച്ചിരിക്കുന്ന അതേ VEXcode VR പ്രോജക്റ്റ്. ഇപ്പോൾ എൽസ് ബ്രാഞ്ച്, ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിച്ച് ഒരു കെട്ടിടം കണ്ടെത്തുന്നതിനുള്ള ടേണിന്റെ 'എൽസ്', കമന്റ് എന്നിവ വായിക്കുന്നു; തുടർന്ന് വലത്തേക്ക് തിരിയുക.
  • പ്രോജക്റ്റ് പരീക്ഷിക്കുന്നതിനുമുമ്പ്, ഒരു ബ്ലോക്ക് കൂടി ചേർക്കേണ്ടതുണ്ട്. [അങ്ങനെയാണെങ്കിൽ] സ്റ്റാക്കിലെ അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ് ബ്ലോക്കുകൾ എന്ന അവസ്ഥ ഒരിക്കൽ മാത്രമേ പരിശോധിക്കൂ. യൂണിറ്റ് 7-ൽ, ഡൗൺ ഐ സെൻസറിന്റെ അവസ്ഥ ആവർത്തിച്ച് പരിശോധിക്കാൻ VR റോബോട്ടിനോട് നിർദ്ദേശിക്കുന്നതിനായി ഒരു [Forever] ബ്ലോക്ക് പ്രോജക്റ്റിലേക്ക് ചേർത്തു. ഡിസ്റ്റൻസ് സെൻസർ അവസ്ഥ ആവർത്തിച്ച് പരിശോധിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ, [എന്നേക്കും] ബ്ലോക്ക് [എന്നെങ്കിൽ] ബ്ലോക്കിന് ചുറ്റുമുള്ള വർക്ക്‌സ്‌പെയ്‌സിലേക്ക് വലിച്ചിടുക.

    If then else ബ്ലോക്ക് മുഴുവനും Forever ബ്ലോക്കിന്റെ C യിൽ വരുന്ന തരത്തിൽ പ്രോജക്റ്റിലേക്ക് ഒരു Forever ബ്ലോക്ക് എങ്ങനെ ചേർക്കാം എന്നതിന്റെ ഒരു അവലോകനം. പ്രോജക്റ്റ് ഇപ്പോൾ വായിക്കുന്നത് "When started, Forever, If Front distance found an object then drive forward" എന്നാണ്; അല്ലെങ്കിൽ വലത്തേക്ക് തിരിയുക.
  • ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട് തുറന്ന് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.

    മൂന്ന് കോട്ടകൾ കേടുകൂടാതെയും രണ്ട് കോട്ട കെട്ടിടങ്ങൾ ഇടിഞ്ഞുവീണും കാണപ്പെടുന്ന കാസിൽ ക്രാഷർ കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. മറിഞ്ഞുവീണ ഒരു കോട്ടയുടെ അരികിൽ മുകളിൽ വലത് കോണിലാണ് റോബോട്ട്.
  • VR റോബോട്ട് കുറഞ്ഞത് രണ്ട് കെട്ടിടങ്ങളെങ്കിലും തകർത്തുകഴിഞ്ഞാൽ, പ്ലേഗ്രൗണ്ട് വീണ്ടും ലോഡുചെയ്‌ത് ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്ന്റെ മറ്റൊരു ലേഔട്ടിൽ പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.

    മൂന്ന് കോട്ടകൾ കേടുകൂടാതെയും രണ്ട് കോട്ട കെട്ടിടങ്ങൾ ഇടിഞ്ഞുവീണും കാണപ്പെടുന്ന കാസിൽ ക്രാഷർ കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. മറിഞ്ഞുവീണ ഒരു കോട്ടയുടെ അരികിൽ മുകളിൽ വലത് കോണിലാണ് റോബോട്ട്.
  • പ്രോജക്റ്റിന്റെ ഓരോ ഓട്ടത്തിലും, ഡിസ്റ്റൻസ് സെൻസർ ഒരു കെട്ടിടം കണ്ടെത്തുന്നതുവരെ VR റോബോട്ട് തിരിഞ്ഞുനിൽക്കും, തുടർന്ന് ആ കെട്ടിടം ഇടിച്ചുനിരത്താൻ ആ കെട്ടിടത്തിലേക്ക് ഓടിച്ചുചെല്ലും.

    കളിസ്ഥലത്തിന്റെ വശത്ത് നിന്ന് ഒരു കാസിൽ പീസ് തള്ളിക്കൊണ്ടിരിക്കുന്ന VR റോബോട്ട് ന്റെ ഒരു സൈഡ് വ്യൂ, പക്ഷേ റോബോട്ട് കളിസ്ഥലത്തിന്റെ അതിർത്തിയിലേക്ക് ഓടിക്കാൻ തുടങ്ങുന്നു, അതും അരികിൽ നിന്ന് വീഴുമെന്ന് തോന്നുന്നു.
  • പ്രോജക്റ്റ് നടക്കുന്നതിനിടയിൽ, വിആർ റോബോട്ട് ഒരു കെട്ടിടത്തിന്റെ ഒരു ഭാഗം അരികിലേക്ക് തള്ളിയിട്ട് പ്ലേഗ്രൗണ്ടിൽ നിന്ന് വീണേക്കാം. കാരണം, <Distance found object> ബ്ലോക്ക് ഇപ്പോഴും VR റോബോട്ടിന് മുന്നിൽ ഒരു വസ്തു ഉണ്ടെന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു. ഈ ബ്ലോക്ക് ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യുമ്പോൾ, VR റോബോട്ട് മുന്നോട്ട് നീങ്ങുന്നു. വിആർ റോബോട്ടിനെ മേശയിൽ നിന്ന് വീഴാൻ നയിക്കുന്നു.

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