Skip to main content

പാഠം 4: ഇൻഫിനിറ്റ് വൈൽ ലൂപ്പുകൾ ഉപയോഗിക്കുന്നു

ഡിസ്ക് മെയ്സ് പ്രശ്നം പരിഹരിക്കുന്നു

പ്രോജക്റ്റ് നിർമ്മിക്കുന്നു

  • മുമ്പത്തെ പാഠത്തിൽ നിന്ന് Unit7Lesson3 പ്രോജക്റ്റ് ലോഡ് ചെയ്യുക, അല്ലെങ്കിൽ ഇവിടെ കാണിച്ചിരിക്കുന്ന പ്രോജക്റ്റ് വീണ്ടും സൃഷ്ടിക്കുക.
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)
  • പ്രോജക്റ്റിന്റെ പേര് മാറ്റുക യൂണിറ്റ്7ലെസൺ4പ്രോജക്റ്റ് നെയിം ബോക്സ് വിളിച്ചിരിക്കുന്ന VEXcode VR ടൂൾബാർ. ഈ പ്രോജക്ടിന് യൂണിറ്റ് 7 ലെസൺ 4 എന്നാണ് പേര് നൽകിയിരിക്കുന്നത്.

     

  • പ്രോജക്റ്റിന്റെ മുകളിലേക്ക് ലൂപ്പ് ചെയ്യുമ്പോൾ ഇൻഫിനിറ്റ്ഡ്രാഗ് ചെയ്യുക അല്ലെങ്കിൽ ടൈപ്പ് ചെയ്യുക, തുടർന്ന് കണ്ടീഷൻ ട്രൂ ആയി സജ്ജമാക്കുക.
def main():
    , True:
    	wait(5, MSEC)
  • അനന്തമായലൂപ്പിലുംലൂപ്പിലും പോകുന്ന കമാൻഡുകൾക്കായി സ്ഥലം ഉണ്ടാക്കാൻwaitകമാൻഡ് നീക്കുക.
def main():
    അതേസമയം True:
    
    
    	wait(5, MSEC)
  • ഇൻഫിനിറ്റ്while ലൂപ്പിനുള്ളിൽ, ലൂപ്പിനുള്ളിൽ മുമ്പത്തെ if സ്റ്റേറ്റ്മെന്റുകൾ പകർത്തി ഒട്ടിക്കുക. while ലൂപ്പിന്റെ അടിയിലുള്ള wait കമാൻഡ് ഇല്ലാതാക്കരുത്. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെയായിരിക്കാം. ഈ രീതിയിൽ കമാൻഡുകൾ പകർത്തി ഒട്ടിക്കുന്നത് ശരിയായ ഇൻഡന്റേഷന് കാരണമാകില്ലെന്ന് ശ്രദ്ധിക്കുക.
def main():
    while True:
        
    # ഫ്രണ്ട് ഐ പച്ച നിറത്തിൽ കാണുന്നുവെങ്കിൽ വലത്തേക്ക് തിരിയുക
    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)

    wait(5, MSEC)
  • ഓർക്കുക, VEXcode VR പൈത്തണിൽ ഇൻഡന്റേഷൻ വളരെ പ്രധാനമാണ്. പ്രോജക്റ്റ് ഫ്ലോ ഉദ്ദേശിച്ച രീതിയിൽ നടപ്പിലാക്കുന്നതിന്, ifസ്റ്റേറ്റ്മെന്റുകൾ ഇൻഫിനിറ്റ് ലൂപ്പിലുംലൂപ്പിലും ഇൻഡന്റ് ചെയ്യേണ്ടതുണ്ട്. ifസ്റ്റേറ്റ്മെന്റുകൾ തിരഞ്ഞെടുത്ത് 'Tab' അമർത്തി അനന്തമായലുംലൂപ്പിലും ഇൻഡന്റ് ചെയ്യുക. ശരിയായി ഇൻഡന്റ് ചെയ്യുമ്പോൾ, നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെയായിരിക്കണം: 
def main():
    while True:
        
        # ഫ്രണ്ട് ഐ പച്ച നിറത്തിൽ കാണുന്നുവെങ്കിൽ വലത്തേക്ക് തിരിയുക
        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)

        wait(5, MSEC)
  • പ്രോജക്റ്റിലേക്ക് അനന്തമായ ഉം ലൂപ്പും ചേർക്കുമ്പോൾ, if സ്റ്റേറ്റ്മെന്റുകളുടെ എല്ലാ അവസ്ഥകളും ആവർത്തിച്ച് പരിശോധിക്കപ്പെടും. ഡിസ്ക് മേസ് പ്ലേഗ്രൗണ്ട് തുറന്ന് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
  • ഈ പ്രോജക്റ്റ് റൺ ചെയ്യുമ്പോൾ, VR റോബോട്ട് തുടക്കം മുതൽ അവസാനം വരെ ഡിസ്ക് മേസ് പ്ലേഗ്രൗണ്ട് നാവിഗേറ്റ് ചെയ്യും. ചുവപ്പ് നിറം കണ്ടെത്തിയാൽ, വിആർ റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തും.

    ഡിസ്ക് മേസ് പ്ലേഗ്രൗണ്ടിലെ വിആർ റോബോട്ട്, വിആർ റോബോട്ടുമായി, കളിസ്ഥലത്തിന്റെ താഴെ വലത് കോണിലുള്ള ചുവന്ന ഡിസ്കിന് മുന്നിൽ നിന്നു.

ചുരുക്കത്തിൽ

  • മുൻ പാഠത്തിലെ പ്രോജക്റ്റിൽ, if സ്റ്റേറ്റ്മെന്റുകളിലെ വ്യവസ്ഥകൾ ഒരിക്കൽ മാത്രമേ പരിശോധിച്ചിട്ടുള്ളൂ. if സ്റ്റേറ്റ്മെന്റുകളിലെ അവസ്ഥകൾ ഒരിക്കൽ മാത്രമേ പരിശോധിച്ചിട്ടുള്ളൂ എന്നതിനാൽ, പ്രോജക്റ്റിന്റെ തുടക്കത്തിൽ 'നിറമില്ല' എന്ന അവസ്ഥ True ആയി റിപ്പോർട്ട് ചെയ്തിരുന്നതിനാൽ VR റോബോട്ട് എന്നെന്നേക്കുമായി മുന്നോട്ട് പോയി.
  • ഇപ്പോൾ അനന്തമായ while ലൂപ്പ് ചേർത്തിരിക്കുന്നതിനാൽ, if സ്റ്റേറ്റ്മെന്റുകളുടെ ഓരോ അവസ്ഥയും ആവർത്തിച്ച് പരിശോധിക്കപ്പെടും. while ലൂപ്പിന്റെ അവസ്ഥ എപ്പോഴും True ആണ്, അതിനാൽ while ലൂപ്പിനുള്ളിലെ കോഡ് എല്ലായ്പ്പോഴും എക്സിക്യൂട്ട് ചെയ്യും. പ്രോജക്റ്റ് പ്രവർത്തിക്കുമ്പോൾ if സ്റ്റേറ്റ്മെന്റുകളുടെ അവസ്ഥകൾ ഇത് ആവർത്തിച്ച് പരിശോധിക്കും. 
  • പ്രോജക്റ്റിന്റെ ഒഴുക്കിനിടയിൽ, if സ്റ്റേറ്റ്മെന്റുകളുടെ അവസ്ഥ ശരിയാണെങ്കിൽ, if സ്റ്റേറ്റ്മെന്റിനുള്ളിലെ കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യപ്പെടുന്നു. if സ്റ്റേറ്റ്മെന്റിന്റെ അവസ്ഥ False ആണെങ്കിൽ, if സ്റ്റേറ്റ്മെന്റിനുള്ളിലെ കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യപ്പെടുന്നില്ല, കൂടാതെ പ്രോജക്റ്റിന്റെ ഫ്ലോ അടുത്ത കമാൻഡിലേക്ക് തുടരും. ഒരു പ്രത്യേക നിറം തിരിച്ചറിഞ്ഞാൽ തിരിയുകയോ നിർത്തുകയോ പോലുള്ള വ്യതിരിക്തമായ പെരുമാറ്റങ്ങൾ നടത്താൻ ഇത് VR റോബോട്ടിനെ പ്രാപ്തമാക്കുന്നു.
  • അവസ്ഥകൾ നിരന്തരം പരിശോധിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ സ്റ്റേറ്റ്‌മെന്റുകൾ അനന്തമായ ഉംലൂപ്പുകളും ഉപയോഗിച്ചാൽ.

ചോദ്യങ്ങൾ

പാഠ ക്വിസ് ആക്‌സസ് ചെയ്യുന്നതിന് താഴെയുള്ള ലിങ്ക് തിരഞ്ഞെടുക്കുക.

ഗൂഗിൾ ഡോക് / .ഡോക്സ് / .പിഡിഎഫ്