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

പഠന ഫലങ്ങൾ
- റിപ്പോർട്ട് ചെയ്ത ബൂളിയൻ മൂല്യത്തെ അടിസ്ഥാനമാക്കി, 'if' അല്ലെങ്കിൽ 'else' ബ്രാഞ്ചിനുള്ളിൽ ഒരു if elseസ്റ്റേറ്റ്മെന്റ് കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുന്നുവെന്ന് തിരിച്ചറിയുക.
- അവസ്ഥ ഒന്നിലധികം തവണ പരിശോധിക്കുന്നതിനായി if else എന്ന പ്രസ്താവന സാധാരണയായി ലൂപ്പിന് അല്ലെങ്കിൽ അനന്തമായ whileലൂപ്പിനൊപ്പം ഉപയോഗിക്കുന്നുവെന്ന് തിരിച്ചറിയുക.
- ലൂപ്പുകളിൽ if elseസ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കുന്നത് എന്തുകൊണ്ടാണെന്ന് കണ്ടെത്തി വിവരിക്കുക.
- if elseസ്റ്റേറ്റ്മെന്റുള്ള ഒരു പ്രോജക്റ്റിൽ 'if' ബ്രാഞ്ച് അല്ലെങ്കിൽ 'else' ബ്രാഞ്ച് പ്രവർത്തിപ്പിക്കുന്നതിന് കാരണമെന്താണെന്ന് വിവരിക്കുക.
എന്തിനാണ് ഒരു "If Else" സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കുന്നത്?
യൂണിറ്റ് 2 ലെ കാസിൽ ക്രാഷർ ചലഞ്ചിൽ നിന്ന് വ്യത്യസ്തമാണ് ഡൈനാമിക് കാസിൽ ക്രാഷർ ചലഞ്ച്. യൂണിറ്റ് 2 ചലഞ്ചിൽ ലളിതമായ സീക്വൻസിംഗും ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകളും ഉപയോഗിച്ച് ഒരു സ്റ്റാറ്റിക് കളിസ്ഥലത്തെ കോട്ടകളെ തകർത്തു.
def main():
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 1550, MM)
drivetrain.turn_for(RIGHT, 180, DEGREES)
drivetrain.drive_for(FORWARD, 700, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)എന്നിരുന്നാലും, ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ടിന്റെ മാറിക്കൊണ്ടിരിക്കുന്ന ലേഔട്ടുകൾ കാരണം, രണ്ടോ അതിലധികമോ കോട്ടകളെ VR റോബോട്ടിന് ഇടിച്ചുനിരത്താൻഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ മാത്രം മതിയാകില്ല. ഒരു കൂട്ടം ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ ഒരു പ്ലേഗ്രൗണ്ടിൽ പ്രവർത്തിച്ചേക്കാം, പക്ഷേ മറ്റൊന്നിൽ പ്രവർത്തിക്കില്ല. ആവർത്തനങ്ങളിൽ സെൻസറുകളും തിരഞ്ഞെടുപ്പും ഉപയോഗിക്കുന്ന ഒരു അൽഗോരിതം ആവശ്യമാണ്. ഈ പ്രോജക്റ്റിലേക്ക് കണ്ടീഷണൽ സ്റ്റേറ്റ്മെന്റുകൾക്കൊപ്പം സെലക്ഷൻ ചേർത്ത് ഒരു അൽഗോരിതം സൃഷ്ടിക്കാൻ if elseസ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കും.

മറ്റെന്തെങ്കിലും പ്രസ്താവന
if else സ്റ്റേറ്റ്മെന്റ് ബൂളിയൻ വ്യവസ്ഥകൾ അംഗീകരിക്കുന്ന ഒരു സ്റ്റേറ്റ്മെന്റാണ്. if elseസ്റ്റേറ്റ്മെന്റ് എന്നത് ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്കിനെ നിയന്ത്രിക്കുന്ന ഒരു കണ്ടീഷണൽ സ്റ്റേറ്റ്മെന്റാണ്. if elseസ്റ്റേറ്റ്മെന്റ് ഒരു പ്രത്യേക കമാൻഡ് ശ്രേണി എക്സിക്യൂട്ട് ചെയ്യുംif കൺഡിഷൻ പാലിക്കപ്പെട്ടാൽ, else(കൺഡിഷൻ അല്ല പാലിക്കപ്പെടുമ്പോൾ) മറ്റൊരു സെറ്റ് കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യും - അതുവഴി പ്രോജക്റ്റ് ഫ്ലോ 'ബ്രാഞ്ച്' ചെയ്യുന്നു. ൽ ഒരു ബ്രാഞ്ച് മാത്രമേ ഒരേസമയം എക്സിക്യൂട്ട് ചെയ്യപ്പെടുകയുള്ളൂ, അല്ലെങ്കിൽമാത്രമേ എക്സിക്യൂട്ട് ചെയ്യപ്പെടുകയുള്ളൂ.
അവസ്ഥ:
പാസ്
ആണെങ്കിൽ അല്ലെങ്കിൽ:
പാസ്- അവസ്ഥ True ആയി റിപ്പോർട്ട് ചെയ്താൽ, 'if' ബ്രാഞ്ചിനുള്ളിലെ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കപ്പെടും.
- അവസ്ഥ തെറ്റ് എന്ന് റിപ്പോർട്ട് ചെയ്താൽ, 'else' ബ്രാഞ്ചിനുള്ളിലെ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കപ്പെടും.
- ഒരു ബ്രാഞ്ചിനുള്ളിലെ എല്ലാ കമാൻഡുകളും പ്രവർത്തിപ്പിച്ചുകഴിഞ്ഞാൽ, പ്രോജക്റ്റ്if elseസ്റ്റേറ്റ്മെന്റിന് പുറത്തുള്ള അടുത്ത കമാൻഡിലേക്ക് നീങ്ങും.
നിങ്ങളുടെ ദൈനംദിന പ്രവർത്തനങ്ങളിൽ നിങ്ങൾ പലപ്പോഴുംif elseലോജിക് ഉപയോഗിക്കാറുണ്ട്. ഉദാഹരണത്തിന്, പുറത്തെ കാലാവസ്ഥയെ അടിസ്ഥാനമാക്കി വീട്ടിൽ നിന്ന് ഇറങ്ങുമ്പോൾ എന്ത് കൊണ്ടുപോകണമെന്ന് തീരുമാനിക്കുമ്പോൾ, നിങ്ങൾക്ക്if elseലോജിക് ഉപയോഗിക്കാം. മഴ പെയ്യുന്നുണ്ടെങ്കിൽ, ഒരു കുട എടുക്കുക; മറ്റുസൺഗ്ലാസുകൾ എടുക്കുക.
'ഇഫ്' ബ്രാഞ്ച് -
- ഈ സാഹചര്യത്തിൽ, 'മഴ പെയ്യുക' എന്ന നിബന്ധന പാലിക്കപ്പെടുന്നു, അതിനാൽ 'if'ബ്രാഞ്ച് നടപ്പിലാക്കും, നിങ്ങൾ ഒരു കുട എടുക്കും.

'മറ്റുള്ളവർ' ബ്രാഞ്ച് -
- ഈ സാഹചര്യത്തിൽ, 'മഴ പെയ്യുക' എന്ന അവസ്ഥ അല്ല, ആണ്, അതിനാൽ 'else' ബ്രാഞ്ച് നടപ്പിലാക്കും, നിങ്ങൾ സൺഗ്ലാസുകൾ എടുക്കും.

If Else സ്റ്റേറ്റ്മെന്റും ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്രശ്നവും
ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്ലെ കോട്ടകളെ വിജയകരമായി തകർക്കാൻ VR റോബോട്ടിന് രണ്ട് പ്രധാന ഘട്ടങ്ങളുണ്ട്. അടിസ്ഥാനപരമായി, വിആർ റോബോട്ടിന് കളിസ്ഥലത്തെ കോട്ടകൾ കണ്ടെത്താനും കണ്ടെത്താനും കഴിയണം, തുടർന്ന് അവയെ തട്ടിമാറ്റാൻ ഡ്രൈവ് ചെയ്യണം. ഒരുif elseപ്രസ്താവനയുടെ അടിസ്ഥാനത്തിൽ, ഇത് ഇങ്ങനെ ഫ്രെയിം ചെയ്യാം:
- VR റോബോട്ട് ഒരു കോട്ട കണ്ടെത്തിയാൽ, അതിനെ തകർക്കാൻ അതിലേക്ക് മുന്നോട്ട് ഓടിക്കുക.

- മറ്റുള്ളവ,(VR റോബോട്ട് ഒരു കോട്ട കണ്ടെത്താത്തപ്പോൾ), തിരിഞ്ഞ് പ്ലേഗ്രൗണ്ടിലെ മറ്റൊരു സ്ഥലത്ത് ഒരു കോട്ട ഉണ്ടോ എന്ന് പരിശോധിക്കുക.

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

- പ്രോജക്റ്റിന് എന്ന് പേര് നൽകുക യൂണിറ്റ്9ലെസൺ.

-
മുകളിൽ തിരിച്ചറിഞ്ഞ ഘട്ടങ്ങളെ അടിസ്ഥാനമാക്കി, പ്രോജക്റ്റിന്റെ ഉദ്ദേശ്യം വ്യക്തമാക്കുന്ന അഭിപ്രായങ്ങൾ വർക്ക്സ്പെയ്സിലേക്ക് ചേർക്കുക. ആദ്യത്തെ കമന്റ് if elseസ്റ്റേറ്റ്മെന്റിന്റെ അവസ്ഥ വിശദീകരിക്കുന്നു, അടുത്ത രണ്ടെണ്ണം if elseസ്റ്റേറ്റ്മെന്റിന്റെ ഓരോ ശാഖയുടെയും പ്രവർത്തനങ്ങൾ വിശദീകരിക്കുന്നു. പൈത്തൺ കമന്റുകൾ # (പൗണ്ട്) ചിഹ്നത്തിലാണ് ആരംഭിക്കുന്നതെന്ന് ഓർമ്മിക്കുക. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെ ആയിരിക്കണം:
def main(): # ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ? # ഒരു ഡിസ്റ്റൻസ് സെൻസർ കണ്ടെത്തിയ ക്രാഷ് കാസിൽ # ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിച്ച് ഒരു കോട്ട കണ്ടെത്താൻ തിരിയുക. -
മുകളിൽ വിവരിച്ച ഓരോ പ്രവർത്തനങ്ങളും ട്രിഗർ ചെയ്യാൻ if else സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കാം. ഓരോ പ്രവർത്തനവും if elseസ്റ്റേറ്റ്മെന്റിലെ ബൂളിയൻ അവസ്ഥ ശരിയാണോ തെറ്റാണോ എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നുണ്ടോ എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു. കമന്റുകൾക്ക് ശേഷം if elseഎന്നൊരു പ്രസ്താവന ചേർക്കുക. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇപ്പോൾ ഇതുപോലെ ആയിരിക്കണം:
def main(): # ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ? # ഡിസ്റ്റൻസ് സെൻസർ കണ്ടെത്തിയ ക്രാഷ് കാസിൽ # ഡിസ്റ്റൻസ് സെൻസർ : പാസ് അല്ലെങ്കിൽ: പാസ് -
if else പ്രസ്താവനയുടെ ഓരോ ശാഖയും അഭിപ്രായങ്ങൾ ഉപയോഗിച്ച് നിർവചിക്കാം. ഡിസ്റ്റൻസ് സെൻസർ ഒരു കോട്ടയെ കണ്ടെത്തിയാൽ, VR റോബോട്ട് ആ കോട്ടയെ തകർക്കാൻ ഓടിക്കണം; elseഒരു കോട്ടയെ കണ്ടെത്താൻ അത് തിരിയണം. അനുബന്ധ പ്രവർത്തനങ്ങളെ വിവരിക്കുന്ന അഭിപ്രായങ്ങളുമായി യോജിപ്പിക്കുന്നതിന് പ്രോജക്റ്റിന്റെ if, other ശാഖകൾ നീക്കുക. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇപ്പോൾ ഇതുപോലെ ആയിരിക്കണം:
def main(): # ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ? അവസ്ഥ: ആണെങ്കിൽ # ഒരു ഡിസ്റ്റൻസ് സെൻസർ കണ്ടെത്തിയ ക്രാഷ് കാസിൽ പാസ് മറ്റുള്ളവ: # ഡിസ്റ്റൻസ് സെൻസർ പാസ് ഉപയോഗിച്ച് ഒരു കാസിൽ കണ്ടെത്താൻ തിരിയുക
ഈ പാഠത്തിന്റെ ബാക്കി ഭാഗം തുടരാൻ അടുത്തത് ബട്ടൺ തിരഞ്ഞെടുക്കുക.