Skip to main content

പാഠം 3: If സ്റ്റേറ്റ്മെന്റുകൾ ഉപയോഗിക്കുന്നത്

Ifസ്റ്റേറ്റ്മെന്റുകൾ ഉപയോഗിച്ച് ഡിസ്ക് മേസ് നാവിഗേറ്റ് ചെയ്യുന്നു

ഡിസ്ക് മേസ് ചലഞ്ചിൽ, റിപ്പോർട്ട് ചെയ്യപ്പെടുന്ന നിറം എന്താണെന്ന് കാണാൻ വിആർ റോബോട്ട് ഫ്രണ്ട് ഐ സെൻസറിന്റെ അവസ്ഥ പരിശോധിക്കുന്നു. ഓരോ നിറങ്ങളും വിആർ റോബോട്ട് ചെയ്യേണ്ട വ്യത്യസ്ത സ്വഭാവവുമായി പൊരുത്തപ്പെടുന്നു.

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

ifസ്റ്റേറ്റ്മെന്റ് ബൂളിയൻ വ്യവസ്ഥകൾ മാത്രമേ അംഗീകരിക്കുന്നുള്ളൂ. പാഠം 2-ൽ ഡിസ്ക് മെയ്സ് പരിഹരിക്കുമ്പോൾ നിരീക്ഷിച്ച പാറ്റേണുകൾ ഉപയോഗിച്ച്, അവസ്ഥ ശരിയോ തെറ്റോ ആണെന്ന് റിപ്പോർട്ട് ചെയ്താൽ VR റോബോട്ട് തീരുമാനമെടുക്കുന്ന ഒരു പ്രോജക്റ്റ് സൃഷ്ടിക്കാൻ കഴിയും.

വ്യവസ്ഥ: 
	പാസ് ആണെങ്കിൽ

if സ്റ്റേറ്റ്മെന്റ് ഒരു പ്രോജക്റ്റിൽ ഒരിക്കൽ മാത്രമേ പ്രവർത്തിക്കൂ. ഈ ഉദാഹരണത്തിൽ, ഒരു പച്ച നിറത്തിലുള്ള വസ്തു കണ്ടെത്തിയാൽ ഫ്രണ്ട് ഐ സെൻസർ True എന്ന് റിപ്പോർട്ട് ചെയ്യുകയും if സ്റ്റേറ്റ്മെന്റിനുള്ളിൽ 90 ഡിഗ്രി വലത്തേക്ക് തിരിയുക എന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുകയും ചെയ്യും. ഒരു പച്ച വസ്തു കണ്ടെത്തിയില്ലെങ്കിൽ, പ്രോജക്റ്റ് അടുത്ത കമാൻഡിലേക്ക് നീങ്ങും.

def main():
    front_eye.detect(GREEN) ആണെങ്കിൽ:
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    drivetrain.stop()
  • ഒരു പുതിയ പ്രോജക്റ്റ് ആരംഭിച്ച് ആവശ്യപ്പെടുമ്പോൾഡിസ്ക് മേസ് പ്ലേഗ്രൗണ്ട്തിരഞ്ഞെടുക്കുക. VEXcode VR-ൽ ഡിസ്ക് മെയ്സ് പ്ലേഗ്രൗണ്ട് സെലക്ഷൻ ടൈൽ.
  • ഇതിന് യൂണിറ്റ്7ലെസൺഎന്ന് പേരിടുക.VEXcode VR-ലെ ടൂൾബാറിൽ പ്രോജക്റ്റ് നെയിം ബോക്സ് എന്ന് വിളിച്ചിരിക്കുന്നു. പ്രോജക്റ്റിന്റെ പേര് യൂണിറ്റ് 7 പാഠം 3 എന്നാണ്.

     

  • പ്രോജക്റ്റിന്റെ തുടർന്നുള്ള ഓരോ വിഭാഗത്തിലും VR റോബോട്ടിന്റെ പെരുമാറ്റങ്ങളുടെ ഉദ്ദേശ്യം വിവരിക്കുന്ന അഭിപ്രായങ്ങൾ ചേർക്കുക. 
def main():
    # മുൻ കണ്ണ് പച്ച നിറത്തിൽ കാണുകയാണെങ്കിൽ വലത്തേക്ക് തിരിയുക

    # മുൻ കണ്ണ് നീല നിറത്തിൽ കാണുകയാണെങ്കിൽ ഇടത്തേക്ക് തിരിയുക
  • ആദ്യത്തെ കമന്റിന് താഴെയായി if സ്റ്റേറ്റ്മെന്റ് ഡ്രാഗ് ചെയ്യുക അല്ലെങ്കിൽ ടൈപ്പ് ചെയ്യുക.
def main():
    # ഫ്രണ്ട് ഐ പച്ച നിറത്തിൽ കണ്ടെത്തിയാൽ വലത്തേക്ക് തിരിയുക
    കണ്ടീഷൻ: 
    	പാസ്

    ആണെങ്കിൽ # ഫ്രണ്ട് ഐ നീല നിറത്തിൽ കണ്ടെത്തിയാൽ ഇടത്തേക്ക് തിരിയുക
  • if സ്റ്റേറ്റ്മെന്റിന്റെ അവസ്ഥ front_eye.detectകമാൻഡിലേക്ക് സജ്ജമാക്കുക, തുടർന്ന് പാരാമീറ്റർ 'GREEN' ആയി സജ്ജമാക്കുക.
def main():
    # ഫ്രണ്ട് ഐ പച്ച നിറത്തിൽ കാണുന്നുവെങ്കിൽ വലത്തേക്ക് തിരിയുക
	ഫ്രണ്ട്_ഐ.ഡിറ്റക്റ്റ്(ഗ്രീൻ) ആണെങ്കിൽ: 
    	പാസ്
    	
    # ഫ്രണ്ട് ഐ നീല നിറത്തിൽ കാണുന്നുവെങ്കിൽ ഇടത്തേക്ക് തിരിയുക
  • പാസ്മാറ്റിസ്ഥാപിക്കുന്നതിന്, if സ്റ്റേറ്റ്മെന്റിനുള്ളിൽ turn_for കമാൻഡ് ഡ്രാഗ് ചെയ്യുക അല്ലെങ്കിൽ ടൈപ്പ് ചെയ്യുക. പാരാമീറ്ററുകൾ 90 ഡിഗ്രി വലത്തേക്ക് തിരിയാൻ സജ്ജമാക്കുക. ഇനി, ഫ്രണ്ട് ഐ സെൻസർ 'GREEN' എന്ന് തിരിച്ചറിഞ്ഞാൽ, VR റോബോട്ട് 90 ഡിഗ്രി വലത്തേക്ക് തിരിയും.
def main():
    # ഫ്രണ്ട് ഐ പച്ച നിറത്തിൽ കണ്ടാൽ വലത്തേക്ക് തിരിയുക
	ഫ്രണ്ട്_ഐ.ഡിറ്റെക്റ്റ്(ഗ്രീൻ) ആണെങ്കിൽ: 
    	ഡ്രൈവ്‌ട്രെയിൻ.ടേൺ_ഫോർ(റൈറ്റ്, 90, ഡിഗ്രി)
    	
    # ഫ്രണ്ട് ഐ നീല നിറത്തിൽ കണ്ടാൽ ഇടത്തേക്ക് തിരിയുക
  • Disk Maze-ലെ മൂന്ന് നിറങ്ങൾക്കും (പച്ച, നീല, ചുവപ്പ്)if സ്റ്റേറ്റ്മെന്റുകൾ ചേർക്കാൻ നമ്മൾ ഇതേ ഘട്ടങ്ങൾ പാലിക്കും. ഓരോ നിറവും വ്യത്യസ്ത സ്വഭാവവുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. if സ്റ്റേറ്റ്മെന്റുകളിലെ കമാൻഡുകൾ ആ ഉദ്ദേശിച്ച സ്വഭാവവുമായി പൊരുത്തപ്പെടേണ്ടതുണ്ട്. രണ്ടാമത്തെ കമന്റിന് താഴെയായി പ്രോജക്റ്റിലേക്ക് ഇനിപ്പറയുന്ന കമാൻഡുകൾ ചേർക്കുക, അതുവഴി ഫ്രണ്ട് ഐ സെൻസർ 'BLUE' നിറം തിരിച്ചറിഞ്ഞാൽ, VR റോബോട്ട് 90 ഡിഗ്രി ഇടത്തേക്ക് തിരിയും.
	# ഫ്രണ്ട് ഐ നീല നിറം കണ്ടെത്തിയാൽ ഇടത്തേക്ക്
	തിരിക്കുക, front_eye.detect(BLUE): 
    	drivetrain.turn_for(LEFT, 90, DEGREES) ആണെങ്കിൽ.
  • VR റോബോട്ട് മസിലുകളുടെ അറ്റത്ത് എത്തുമ്പോൾ, ഫ്രണ്ട് ഐ സെൻസർ 'RED' നിറം കണ്ടെത്തും.

    ഡിസ്ക് മേസിന്റെ അറ്റത്തുള്ള ചുവന്ന ഡിസ്കിൽ എത്തിയ വിആർ റോബോട്ട് അതിനു മുന്നിൽ നിർത്തുന്നതിന്റെ ഒരു ക്ലോസ് അപ്പ് വ്യൂ.
  • VR റോബോട്ടിനെ നിർത്താൻ, ഫ്രണ്ട് ഐ സെൻസർ 'RED' കണ്ടെത്തിയാൽ എന്തുചെയ്യണമെന്നതിനുള്ള നിർദ്ദേശങ്ങളോടൊപ്പം മറ്റൊരു if സ്റ്റേറ്റ്മെന്റ് ചേർക്കേണ്ടതുണ്ട്. 'RED' കണ്ടെത്തിയാൽ VR റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തുന്നതിന് പ്രോജക്റ്റിലേക്ക് ഇനിപ്പറയുന്ന അഭിപ്രായവും കമാൻഡുകളും ചേർക്കുക. 
	# ഫ്രണ്ട് ഐ ചുവപ്പ് നിറം കണ്ടെത്തിയാൽ
	നിർത്തുക, front_eye.detect(RED): 
    	drivetrain.stop() ആണെങ്കിൽ.

നിറങ്ങളൊന്നും കണ്ടെത്തിയില്ലെങ്കിൽ

'none' മൂല്യം ഉപയോഗിച്ച് നിറം കാണുന്നില്ലെങ്കിൽ VR റോബോട്ടിന് തീരുമാനമെടുക്കാനും കഴിയും. ഉദാഹരണത്തിന്, ഡിസ്ക് മേസിന്റെ ആരംഭ പോയിന്റിൽ, ഫ്രണ്ട് ഐ സെൻസർ ഒരു നിറങ്ങളും കണ്ടെത്തുന്നില്ല.

ഡാഷ്‌ബോർഡ് തുറന്നിരിക്കുന്ന VR കളിസ്ഥല കാഴ്ചയും റോബോട്ടിന്റെ ഫ്രണ്ട് ഐ സെൻസിംഗ് മൂല്യങ്ങൾ എടുത്തുകാണിക്കുന്ന ഒരു ചുവന്ന ബോക്സും. നിലവിലെ 'Object' മൂല്യം തെറ്റാണ്, നിലവിലെ 'Color' മൂല്യം ഒന്നുമല്ല.

ഡിസ്ക് മേസിന്റെ തുടക്കത്തിൽ ഫ്രണ്ട് ഐ സെൻസറിന് ഒരു നിറവും തിരിച്ചറിയാൻ കഴിയാത്തതിനാൽ, പച്ച ഡിസ്ക് കണ്ടെത്തുന്നതുവരെ വിആർ റോബോട്ട് മുന്നോട്ട് പോകേണ്ടതുണ്ട്. നിറം കണ്ടെത്താത്തപ്പോൾ എന്തുചെയ്യണമെന്ന് VR റോബോട്ടിനോട് നിർദ്ദേശിക്കുന്നതിന് മറ്റൊരു if സ്റ്റേറ്റ്മെന്റ് ചേർക്കാൻ കഴിയും. 

  • ഫ്രണ്ട് ഐ സെൻസർ ഒരു നിറവും തിരിച്ചറിഞ്ഞില്ലെങ്കിൽ, VR റോബോട്ട് മുന്നോട്ട് പോകുന്നതിനായി പ്രോജക്റ്റിലേക്ക് ഇനിപ്പറയുന്ന അഭിപ്രായവും കമാൻഡുകളും ചേർക്കുക.
	# ഫ്രണ്ട് ഐ ഒന്നും കണ്ടെത്തിയില്ലെങ്കിൽ, front_eye.detect(NONE) ആണെങ്കിൽ ഫോർവേഡ്
	ഡ്രൈവ് ചെയ്യുക: 
    	drivetrain.drive(FORWARD)
  • ഫ്രണ്ട് ഐ സെൻസർ കണ്ടെത്തുന്ന ഓരോ നിറത്തിനും ഇപ്പോൾ വിആർ റോബോട്ടിന് നിർദ്ദേശങ്ങളുണ്ട്.
    • ഫ്രണ്ട് ഐ സെൻസർ 'GREEN' തിരിച്ചറിഞ്ഞാൽ – 90 ഡിഗ്രി വലത്തേക്ക് തിരിക്കുക
    • ഫ്രണ്ട് ഐ സെൻസർ 'നീല' തിരിച്ചറിഞ്ഞാൽ – 90 ഡിഗ്രി ഇടത്തേക്ക് തിരിക്കുക
    • ഫ്രണ്ട് ഐ സെൻസർ 'ചുവപ്പ്' കണ്ടെത്തിയാൽ – ഡ്രൈവിംഗ് നിർത്തുക.
    • ഫ്രണ്ട് ഐ സെൻസർ 'NONE' എന്ന് കണ്ടെത്തിയാൽ –മുന്നോട്ട് ഡ്രൈവ് ചെയ്യുക
  • പ്ലേഗ്രൗണ്ട് വിൻഡോ തുറന്നിട്ടില്ലെങ്കിൽ അത് തുറക്കുക. ഡിസ്ക് മേസ് പ്ലേഗ്രൗണ്ട്തുറക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക, തുടർന്ന് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക. മുഴുവൻ പ്രോജക്റ്റും ഇതുപോലെ ആയിരിക്കണം: 
def main():
    # ഫ്രണ്ട് ഐ പച്ച നിറത്തിൽ കാണുന്നുവെങ്കിൽ വലത്തേക്ക് തിരിയുക
    front_eye.detect(GREEN):
        drivetrain.turn_for(RIGHT, 90, DEGREES)

    # ഫ്രണ്ട് ഐ നീല നിറത്തിൽ കാണുന്നുവെങ്കിൽ ഇടത്തേക്ക് തിരിയുക
    front_eye.detect(BLUE):
        drivetrain.turn_for(LEFT, 90, DEGREES)

    # ഫ്രണ്ട് ഐ ചുവപ്പ് നിറത്തിൽ കാണുന്നുവെങ്കിൽ നിർത്തുക
    front_eye.detect(RED) ആണെങ്കിൽ: 
        drivetrain.stop()

    # ഫ്രണ്ട് ഐ ഒന്നും കാണുന്നില്ലെങ്കിൽ മുന്നോട്ട് ഡ്രൈവ് ചെയ്യുക
    front_eye.detect(NONE) ആണെങ്കിൽ: 
        drivetrain.drive(FORWARD)
  • നിങ്ങൾ ഉദ്ദേശിച്ചതുപോലെയാണോ VR റോബോട്ട് പ്രവർത്തിക്കുന്നത്? എന്തുകൊണ്ട് അല്ലെങ്കിൽ എന്തുകൊണ്ട്? പാഠത്തിന്റെ അടുത്ത പേജിൽ, ഈ പ്രോജക്റ്റിനെക്കുറിച്ച് നമ്മൾ കൂടുതലറിയും.

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