Skip to main content

পাঠ ৩: যদি বিবৃতি ব্যবহার করা

Ifবিবৃতি ব্যবহার করে ডিস্ক মেজ নেভিগেট করা

ডিস্ক মেজ চ্যালেঞ্জে, ভিআর রোবটটি ফ্রন্ট আই সেন্সরের অবস্থা পরীক্ষা করে দেখছে কোন রঙের রিপোর্ট করা হচ্ছে। প্রতিটি রঙ VR রোবটের করা উচিত এমন একটি ভিন্ন আচরণের সাথে সারিবদ্ধ।

আপনার জ্ঞাতার্থে

ifবিবৃতিটি শুধুমাত্র বুলিয়ান শর্ত গ্রহণ করে। পাঠ ২-এ ডিস্ক মেজ সমাধান করার সময় পর্যবেক্ষণ করা প্যাটার্নগুলি ব্যবহার করে, একটি প্রকল্প তৈরি করা যেতে পারে যেখানে VR রোবট সিদ্ধান্ত নেয় যে অবস্থাটি সত্য বা মিথ্যা হিসাবে রিপোর্ট করা হয়েছে কিনা।

যদি শর্ত: 
	পাস

যদি স্টেটমেন্টটি একটি প্রকল্পে একবারই চলবে। এই উদাহরণে, যদি কোন সবুজ বস্তু সনাক্ত করা হয়, তাহলে ফ্রন্ট আই সেন্সর True রিপোর্ট করবে এবং if স্টেটমেন্টের ভিতরে কমান্ডটি কার্যকর করবে - 90 ডিগ্রির জন্য ডানদিকে ঘুরুন। যদি কোন সবুজ বস্তু সনাক্ত না হয়, তাহলে প্রকল্পটি পরবর্তী কমান্ডে চলে যাবে।

def main():
    যদি front_eye.detect(GREEN):
        drivetrain.turn_for(ডান, 90, ডিগ্রি)
    drivetrain.stop()
  • একটি নতুন প্রকল্প শুরু করুন এবং অনুরোধ করা হলেডিস্ক মেজ প্লেগ্রাউন্ডনির্বাচন করুন। VEXcode VR-তে ডিস্ক মেজ প্লেগ্রাউন্ড নির্বাচন টাইল।
  • এটির নাম দিন ইউনিট7 পাঠVEXcode VR-এর টুলবার যেখানে প্রকল্পের নামের বাক্সটি ডাকা হয়েছে। প্রকল্পের নাম ইউনিট ৭ পাঠ ৩।

     

  • প্রকল্পের প্রতিটি পরবর্তী বিভাগে ভিআর রোবটের আচরণের উদ্দেশ্য বর্ণনা করতে মন্তব্য যোগ করুন। 
def main():
    # যদি সামনের চোখ সবুজ দেখায় তাহলে ডানদিকে ঘুরুন

    # যদি সামনের চোখ নীল দেখায় তাহলে বাম দিকে ঘুরুন
  • প্রথম মন্তব্যের নিচে যদি বিবৃতি টেনে আনুন বা টাইপ করুন।
def main():
    # যদি সামনের চোখ সবুজ শনাক্ত করে তাহলে ডানে ঘুরুন
    যদি শর্ত: 
    	পাস

    # যদি সামনের চোখ নীল শনাক্ত করে তাহলে বামে ঘুরুন
  • if স্টেটমেন্টের অবস্থা front_eye.detectকমান্ডে সেট করুন এবং প্যারামিটারটি 'GREEN' তে সেট করুন।
def main():
    # যদি সামনের চোখ সবুজ শনাক্ত করে তাহলে ডানদিকে ঘুরুন
	যদি front_eye.detect(GREEN): 
    	পাস
    	
    # যদি সামনের চোখ নীল শনাক্ত করে তাহলে বাম দিকে ঘুরুন
  • 'pass'প্রতিস্থাপন করতে if স্টেটমেন্টের ভিতরে turn_for কমান্ড টেনে আনুন অথবা টাইপ করুন। ৯০ ডিগ্রি ডানদিকে ঘুরতে প্যারামিটার সেট করুন। এখন, যদি সামনের চোখের সেন্সর 'সবুজ' সনাক্ত করে, VR রোবট ডানদিকে 90 ডিগ্রি ঘুরবে।
def main():
    # যদি সামনের চোখ সবুজ শনাক্ত করে তাহলে ডানে ঘুরুন
	যদি front_eye.detect(GREEN): 
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
    	
    # যদি সামনের চোখ নীল শনাক্ত করে তাহলে বামে ঘুরুন
  • ডিস্ক মেজে (সবুজ, নীল এবং লাল) তিনটি রঙের জন্য অতিরিক্তif বিবৃতি যোগ করার জন্য আমরা একই পদক্ষেপগুলি অনুসরণ করব। একেক রঙ একেক আচরণের সঙ্গে যুক্ত। if স্টেটমেন্টের ভিতরের কমান্ডগুলিকে সেই উদ্দেশ্যমূলক আচরণের সাথে মেলে। দ্বিতীয় মন্তব্যের নীচের প্রকল্পে নিম্নলিখিত কমান্ডগুলি যোগ করুন, যাতে ফ্রন্ট আই সেন্সর যদি 'নীল' রঙটি সনাক্ত করে, তাহলে VR রোবটটি 90 ডিগ্রি বাম দিকে ঘুরবে।
	# যদি সামনের চোখ নীল দেখায় তাহলে বাম দিকে ঘুরুন
	যদি front_eye.detect(BLUE): 
    	drivetrain.turn_for(LEFT, 90, DEGREES)
  • যখন VR রোবট গোলকধাঁধার শেষ প্রান্তে পৌঁছাবে, ফ্রন্ট আই সেন্সর 'লাল' রঙ শনাক্ত করবে।

    ডিস্ক মেজের শেষে লাল ডিস্কে ভিআর রোবটটি এসে তার সামনে থামার একটি ঘনিষ্ঠ দৃশ্য।
  • ভিআর রোবট বন্ধ করার জন্য, ফ্রন্ট আই সেন্সর 'লাল' শনাক্ত করলে কী করতে হবে তার নির্দেশাবলী সহ আরও একটি if বিবৃতি যোগ করতে হবে। প্রজেক্টে নিম্নলিখিত মন্তব্য এবং কমান্ড যোগ করুন যাতে VR রোবট 'RED' শনাক্ত করলে গাড়ি চালানো বন্ধ করে দেয়। 
	# যদি সামনের চোখ লাল দেখায় তাহলে
	থামাও যদি front_eye.detect(RED): 
    	drivetrain.stop()

যদি রঙের কোনটি সনাক্ত না হয়

VR রোবট 'কোনও' মান ব্যবহার করে কোনো রঙ না দেখলেও সিদ্ধান্ত নিতে পারে। উদাহরণস্বরূপ, ডিস্ক মেজের শুরুতে, ফ্রন্ট আই সেন্সর কোনও রঙ সনাক্ত করে না।

ড্যাশবোর্ড খোলা থাকায় ভিআর খেলার মাঠের দৃশ্য এবং রোবটের ফ্রন্ট আই সেন্সিং মানগুলি হাইলাইট করে একটি লাল বাক্স। বর্তমান 'অবজেক্ট' মানটি মিথ্যা, এবং বর্তমান 'রঙ' মানটি কোনওটিই নয়।

যেহেতু ফ্রন্ট আই সেন্সর ডিস্ক মেজের শুরুতে একটি রঙ সনাক্ত করে না, তাই ভিআর রোবটটিকে সবুজ ডিস্ক সনাক্ত না করা পর্যন্ত এগিয়ে যেতে হবে। কোনও রঙ সনাক্ত না হলে কী করতে হবে তা VR রোবটকে নির্দেশ দেওয়ার জন্য আরেকটি if বিবৃতি যোগ করা যেতে পারে। 

  • প্রকল্পে নিম্নলিখিত মন্তব্য এবং কমান্ডগুলি যোগ করুন, যাতে ফ্রন্ট আই সেন্সর যদি কোনও রঙ সনাক্ত না করে, তাহলে VR রোবটটি এগিয়ে যাবে।
	# যদি সামনের চোখ কিছুই সনাক্ত না করে তাহলে সামনের দিকে
	ড্রাইভ করুন যদি front_eye.detect(NONE): 
    	drivetrain.drive(FORWARD)
  • VR রোবটে এখন ফ্রন্ট আই সেন্সর দ্বারা সনাক্ত করা প্রতিটি রঙের জন্য নির্দেশাবলী রয়েছে।
    • যদিফ্রন্ট আই সেন্সর 'সবুজ' শনাক্ত করে - ৯০ ডিগ্রি ডানদিকে ঘুরুন
    • যদিফ্রন্ট আই সেন্সর 'নীল' শনাক্ত করে - ৯০ ডিগ্রি বাম দিকে ঘুরুন
    • যদিসামনের চোখের সেন্সর 'লাল' শনাক্ত করে - গাড়ি চালানো বন্ধ করুন
    • যদিসামনের চোখের সেন্সর 'কিছুই নয়' সনাক্ত করে -সামনের দিকে গাড়ি চালান
  • খেলার মাঠের উইন্ডোটি খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে। নিশ্চিত করুন যেডিস্ক মেজ প্লেগ্রাউন্ডখোলে, এবং প্রকল্পটি চালান। পুরো প্রকল্পটি দেখতে এরকম হওয়া উচিত: 
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 রোবট কি আপনার ইচ্ছা অনুযায়ী আচরণ করে? কেনই বা হবে না? পাঠের পরবর্তী পৃষ্ঠায়, আমরা এই প্রকল্প সম্পর্কে আরও শিখব।

এই পাঠের বাকি অংশটি চালিয়ে যেতে পরবর্তী বোতামটি নির্বাচন করুন।