Skip to main content

পাঠ ৩: [যদি তাহলে] ব্লক ব্যবহার করা

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

'ফ্রন্ট আই লাল সনাক্ত করে?' এর বুলিয়ান প্যারামিটার সহ VEXcode VR If Then C ব্লক।
  • একটি নতুন প্রকল্প শুরু করুন এবং এর নাম দিন Unit7Lesson3

    VEXcode VR টুলবার যেখানে 'প্রকল্পের নাম' বোতামটি লাল বাক্সে হাইলাইট করা আছে, Select Playground বোতামের বাম দিকে। প্রকল্পের নাম ইউনিট ৭ পাঠ ৩ নির্ধারণ করা হয়েছে।
  • কর্মক্ষেত্রে একটি [যদি তারপর] ব্লক টেনে আনুন এবং এটি [যখন শুরু হয়েছে] ব্লকের সাথে সংযুক্ত করুন।

    VEXcode VR প্রোগ্রামটিকে একটি When Started ব্লক এবং একটি খালি If Then C ব্লক দিয়ে ব্লক করে।

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

    [যদি তাহলে] ব্লক হল একটি সি ব্লক যা বুলিয়ান রিপোর্টার ব্লককে ইনপুট হিসেবে গ্রহণ করে। পাঠ 2-এ ডিস্ক গোলকধাঁধা সমাধান করার সময় পর্যবেক্ষণ করা নিদর্শনগুলি ব্যবহার করে, একটি প্রকল্প তৈরি করা যেতে পারে যেখানে VR রোবট একটি সিদ্ধান্ত নেয় যদি শর্তটি সত্য বা মিথ্যা হিসাবে রিপোর্ট করে।

    VEXcode VR If Then C ব্লকে বুলিয়ান প্যারামিটার স্পেস হাইলাইট করে একটি লাল বাক্স।

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

    যদি ফ্রন্ট আই সবুজ রঙ শনাক্ত করে, তাহলে VEXcode VR ডানদিকে ঘুরতে থাকা প্রকল্পটিকে ব্লক করে। প্রকল্পটিতে লেখা আছে: শুরু করার সময়, যদি সামনের চোখ সবুজ রঙ শনাক্ত করে, তাহলে 90 ডিগ্রির জন্য ডানদিকে ঘুরুন। if স্টেটমেন্টের বাইরে একটি স্টপ ড্রাইভিং ব্লক রয়েছে।

    সুইচ ব্লক ব্যবহার করা 


    নিচের ছবিতে এই পাঠের উদাহরণ প্রকল্পের জন্য Switch [If then] ব্লক স্টেটমেন্ট দেখানো হয়েছে। 

    একই VEXcode VR ব্লক প্রজেক্ট কিন্তু সুইচ ব্লক সহ, যদি ফ্রন্ট আই সবুজ রঙ সনাক্ত করে তবে এটি ডানদিকে ঘুরবে। প্রকল্পটি একটি When started ব্লক দিয়ে শুরু হয় এবং তারপরে একটি If Then ব্লকের একটি সুইচ C ব্লক সংস্করণ আসে। পাইথন কোডটি 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)' পড়ে। if স্টেটমেন্টের বাইরে একটি স্টপ ড্রাইভিং ব্লক রয়েছে।

    নিচের প্রকল্পটিতে একই কমান্ডগুলিকে একটি সুইচ ব্লকে রূপান্তরিত করা হয়েছে।  

    কোডের প্রথম লাইন, যদি front_eye.detect(GREEN): হল শর্তসাপেক্ষ লুপ যা পরীক্ষা করে যে ফ্রন্ট আই সেন্সর সবুজ রঙ সনাক্ত করে কিনা। মনে রাখবেন যে এই লাইনের শেষে একটি কোলন (:) থাকা উচিত। 

    কোডের দ্বিতীয় লাইন, drivetrain.turn_for(RIGHT, 90, DEGREES) রোবটটিকে 90 ডিগ্রি ডানদিকে ঘুরতে বলে যখন ফ্রন্ট আই সেন্সর সবুজ রঙ সনাক্ত করে। এই লাইন ডিফল্টভাবে ৪টি স্পেসএ ইন্ডেন্ট করা হয়েছে কারণ ফ্রন্ট আই সেন্সর সবুজ শনাক্ত করলে এটিই নির্দিষ্ট আচরণ করা হবে। 

    একই VEXcode VR ব্লক প্রজেক্ট কিন্তু সুইচ ব্লক সহ, যদি ফ্রন্ট আই সবুজ রঙ সনাক্ত করে তবে এটি ডানদিকে ঘুরবে। প্রকল্পটি একটি When started ব্লক দিয়ে শুরু হয় এবং তারপরে একটি If Then ব্লকের একটি সুইচ C ব্লক সংস্করণ আসে। পাইথন কোডটি 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)' পড়ে। if স্টেটমেন্টের বাইরে একটি স্টপ ড্রাইভিং ব্লক রয়েছে।

  • [যদি তাহলে] ব্লকের হেক্সাগোনাল ইনপুটে ওয়ার্কস্পেসে একটি <Color sensing> ব্লক টেনে আনুন।

    VEXcode VR এমন একটি প্রকল্পকে ব্লক করে যা একটি ডিস্কের রঙ বোঝার জন্য একটি if স্টেটমেন্ট ব্যবহার করে। এটি শুরু হয় "When Started" ব্লক দিয়ে এবং তারপর একটি মন্তব্য ব্লক দিয়ে লেখা থাকে 'যদি ফ্রন্ট আই সবুজ শনাক্ত করে তাহলে ডানদিকে ঘুরুন'। সবশেষে একটি খালি "If Then" ব্লক আছে যার একটি বুলিয়ান প্যারামিটার আছে যা "Front Eye detects red?" লেখা আছে।
  • <Color sensing> ব্লকের প্যারামিটার পরিবর্তন করে 'সবুজ' করুন।

    VEXcode VR এমন একটি প্রকল্পকে ব্লক করে যা একটি সবুজ ডিস্ক বোঝার জন্য একটি if স্টেটমেন্ট ব্যবহার করে। এটি শুরু হয় "When Started" ব্লক দিয়ে এবং তারপর একটি মন্তব্য ব্লক দিয়ে লেখা থাকে 'যদি ফ্রন্ট আই সবুজ শনাক্ত করে তাহলে ডানদিকে ঘুরুন'। সবশেষে একটি খালি "If Then" ব্লক আছে যার একটি বুলিয়ান প্যারামিটার আছে যার উপর লেখা আছে "Front Eye detects green?"। লাল থেকে সবুজ রঙ পরিবর্তন করার জন্য রঙের ড্রপডাউন মেনু খোলা আছে।
  • যখন ফ্রন্ট আই সেন্সর একটি সবুজ ডিস্ক সনাক্ত করে, তখন ডিস্ক গোলকধাঁধা সমাধান করা শুরু করতে VR রোবটকে ডানদিকে 90 ডিগ্রি ঘুরতে হবে। [যদি তাহলে] ব্লকে একটি [টার্ন ফর] ব্লক টেনে আনুন।

    VEXcode VR এমন একটি প্রকল্পকে ব্লক করে যা একটি সবুজ ডিস্ক বুঝতে এবং তারপর ডানদিকে ঘুরতে একটি if স্টেটমেন্ট ব্যবহার করে। এটি শুরু হয় "When Started" ব্লক দিয়ে এবং তারপর একটি মন্তব্য ব্লক দিয়ে লেখা থাকে 'যদি ফ্রন্ট আই সবুজ শনাক্ত করে তাহলে ডানদিকে ঘুরুন'। সবশেষে একটি "If Then" ব্লক আছে যার একটি বুলিয়ান প্যারামিটার আছে যার উপর লেখা আছে "Front Eye detects green?" এবং If কন্টেইনারের ভিতরে 90 ডিগ্রি ব্লকের জন্য একটি "Right Turn" আছে যা বুলিয়ান true হলে ট্রিগার করবে।
  • ডিস্ক গোলকধাঁধার (সবুজ, নীল এবং লাল) তিনটি রঙের জন্য আরেকটি [যদি তাহলে] ব্লক যোগ করতে এই একই পদক্ষেপগুলি অনুসরণ করুন। একেক রঙ একেক আচরণের সঙ্গে যুক্ত। [যদি তাহলে] ব্লকের ভিতরে থাকা ব্লকগুলিকে সেই উদ্দেশ্যমূলক আচরণের সাথে মেলে। প্রকল্পে নিম্নলিখিত ব্লক যোগ করুন. যখন VR রোবট 'নীল' রঙ শনাক্ত করবে, VR রোবটটি 90 ডিগ্রি বাম দিকে ঘুরবে।

    একই VEXcode VR আগের প্রজেক্ট ব্লক করে কিন্তু নীল ডিস্ক থাকলে বাম দিকে ঘুরতে একটি যোগ করা if স্টেটমেন্ট থাকে। এটি একটি When Started ব্লক দিয়ে শুরু হয় এবং তারপরে একটি If Then ব্লক থাকে যার একটি বুলিয়ান প্যারামিটার থাকে যা একটি কালার সেন্সিং ব্লকের সাথে লেখা থাকে যার উপর লেখা থাকে 'Front Eye detects green?' এবং If কন্টেইনারের ভিতরে 90 ডিগ্রি ব্লকের জন্য একটি ডানদিকে ঘুরুন। সবশেষে, যদি ব্লক এবং টার্ন ব্লক স্ট্যাক একই থাকে তবে নীল রঙ সনাক্ত করা গেলে 90 ডিগ্রির জন্য বাম দিকে ঘুরতে পরিবর্তন করা হয়।
  • যখন VR রোবট গোলকধাঁধাটির শেষ প্রান্তে পৌঁছাবে, VR রোবট 'লাল' রঙ সনাক্ত করবে।

    ভিআর ডিস্ক মেজ খেলার মাঠে ভিআর রোবট, রোবটটি থামানো হয়েছে এবং একটি লাল ডিস্কের দিকে তাকানো হয়েছে।
  • VR রোবট বন্ধ করতে, VR রোবট 'লাল' শনাক্ত করলে কী করতে হবে তার নির্দেশাবলী সহ আরেকটি [যদি তাহলে] ব্লক যোগ করতে হবে। প্রকল্পে নিম্নলিখিত ব্লক যোগ করুন.

    একই VEXcode VR আগের প্রজেক্ট ব্লক করে কিন্তু লাল ডিস্ক থাকলে ড্রাইভিং বন্ধ করার জন্য একটি যোগ করা if স্টেটমেন্ট সহ। এটি একটি When Started ব্লক দিয়ে শুরু হয় এবং তারপরে একটি If Then ব্লক থাকে যার একটি বুলিয়ান প্যারামিটার থাকে যা একটি কালার সেন্সিং ব্লকের সাথে লেখা থাকে যার উপর লেখা থাকে 'Front Eye detects green?' এবং If কন্টেইনারের ভিতরে 90 ডিগ্রি ব্লকের জন্য একটি ডানদিকে ঘুরুন। এরপরে যদি ব্লক এবং টার্ন ব্লক স্ট্যাক একই থাকে তবে নীল রঙ সনাক্ত করা গেলে 90 ডিগ্রির জন্য বাম দিকে ঘুরতে পরিবর্তন করা হয়। সবশেষে, ব্লক এবং টার্ন ব্লক স্ট্যাক ব্যবহার করা হলে একই অবস্থা হবে কিন্তু লাল রঙ সনাক্ত হলে স্টপ ড্রাইভিং এ পরিবর্তন করা হবে।
  • VR রোবট 'কোনও' মান ব্যবহার করে কোনো রঙ না দেখলেও সিদ্ধান্ত নিতে পারে। ডিস্ক গোলকধাঁধার শুরুতে, ভিআর রোবট কোনো রঙ সনাক্ত করে না।

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

    VEXcode VR কালার সেন্সিং ব্লক, যার উপর লেখা আছে 'Front Eye detects none?'। ব্যবহারকারী কীভাবে টার্গেট রঙটি "none" তে পরিবর্তন করতে পারেন তা দেখানোর জন্য একটি ড্রপডাউন মেনু খোলা আছে।
  • প্রকল্পে নিম্নলিখিত ব্লক যোগ করুন. যখন VR রোবট কোনো রঙ শনাক্ত করে না, VR রোবট এগিয়ে যাবে।

    একই VEXcode VR আগের প্রজেক্ট ব্লক করে কিন্তু যদি কোন ডিস্ক সনাক্ত না হয় তবে এগিয়ে যাওয়ার জন্য একটি যোগ করা if স্টেটমেন্ট সহ। এটি একটি When Started ব্লক দিয়ে শুরু হয় এবং তারপরে একটি If Then ব্লক থাকে যার একটি বুলিয়ান প্যারামিটার থাকে যা একটি কালার সেন্সিং ব্লকের সাথে লেখা থাকে যার উপর লেখা থাকে 'Front Eye detects green?' এবং If কন্টেইনারের ভিতরে 90 ডিগ্রি ব্লকের জন্য একটি ডানদিকে ঘুরুন। এরপরে যদি ব্লক এবং টার্ন ব্লক স্ট্যাক একই থাকে তবে নীল রঙ সনাক্ত করা গেলে 90 ডিগ্রির জন্য বাম দিকে ঘুরতে পরিবর্তন করা হয়। এরপর, ব্লক এবং টার্ন ব্লক স্ট্যাক ব্যবহার করা হলে একই কাজ করা হবে কিন্তু লাল রঙ সনাক্ত হলে স্টপ ড্রাইভিং এ পরিবর্তন করা হবে। সবশেষে, ব্লক এবং টার্ন ব্লক স্ট্যাক ব্যবহার করলে একই অবস্থা হবে কিন্তু যদি কোন রঙ সনাক্ত না হয় তবে ড্রাইভ ফরোয়ার্ডে পরিবর্তন করা হবে।
  • VR রোবটে এখন আই সেন্সর দ্বারা সনাক্ত করা প্রতিটি রঙের জন্য নির্দেশাবলী রয়েছে।
    • ফ্রন্ট আই সেন্সর 'সবুজ?'
      • ডানদিকে 90 ডিগ্রি ঘুরুন
    • ফ্রন্ট আই সেন্সর 'নীল?'
      • বাম দিকে 90 ডিগ্রি ঘুরুন
    • ফ্রন্ট আই সেন্সর 'লাল?'
      • গাড়ি চালানো বন্ধ করুন
    • ফ্রন্ট আই সেন্সর সনাক্ত করে 'কোনটি নয়?'
      • এগিয়ে যান
  • ডিস্ক মেজ প্লেগ্রাউন্ড খুলুন এবং প্রকল্পটি চালান।

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