Skip to main content

পাঠ ৪: একটি লাল এবং সবুজ ডিস্ক সরান

  • এর পরে, ভিআর রোবটকে পরবর্তী রঙিন লক্ষ্যে এগিয়ে যেতে হবে। মনে রাখবেন যে VR রোবটকে পরবর্তী রঙিন লক্ষ্যের কেন্দ্রে যাওয়ার জন্য চারটি গ্রিড স্কোয়ার বা 800 মিলিমিটার (মিমি) এগিয়ে যেতে হবে।

    ডিস্ক মুভার খেলার মাঠের উপর থেকে নিচের দৃশ্য, যেখানে ভিআর রোবটটি নীল গোলের প্রান্তে অবস্থান করছে প্রথম নীল ডিস্কটি ফেলে দেওয়ার পর, ডানদিকে লাল গোলের দিকে মুখ করে। ভিআর রোবটের সামনের দিক থেকে লাল লক্ষ্যস্থলের দিকে একটি বিন্দুযুক্ত তীর নির্দেশ করে, যা পরবর্তী অভিপ্রেত গতিবিধি নির্দেশ করে।
  • কোডে একটি [এর জন্য ড্রাইভ] ব্লক যোগ করুন এবং প্যারামিটারটি 800 মিলিমিটার (মিমি) সেট করুন।

    আগের পৃষ্ঠার একই VEXcode VR প্রকল্প, স্ট্যাকের শেষে একটি মন্তব্য এবং ড্রাইভ ফর ব্লক যোগ করা হয়েছে। দুটি অতিরিক্ত ব্লক "পরবর্তী লক্ষ্যে ড্রাইভ করুন" পড়ে, তারপর 800 মিমি এগিয়ে যান।
  • ভিআর রোবটটিকে এখন রঙিন ডিস্কের মুখোমুখি হতে হবে।

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

    একই VEXcode VR প্রকল্প, স্ট্যাকের শেষে একটি মন্তব্য ব্লক এবং টার্ন টু হেডিং ব্লক যুক্ত করা হয়েছে। এই দুটি ব্লকে "Turn to disks" পড়া হয়, তারপর "Turn to heading 0 degree" পড়া হয়।
  • ডিস্ক মুভার প্লেগ্রাউন্ড খুলুন এবং প্রকল্পটি চালান।
  • ভিআর রোবট প্রথম নীল ডিস্কটিকে নীল গোলে নিয়ে যাবে এবং তারপর লাল গোলের উপর দিয়ে গাড়ি চালাবে। VR রোবটও লাল ডিস্কের মুখোমুখি হবে।

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

    লাল গোলের সামনের প্রান্তে লাল ডিস্কের দিকে মুখ করে অবস্থিত VR সহ ডিস্ক মুভার খেলার মাঠের উপর থেকে নিচের দৃশ্য। বিন্দুযুক্ত তীরগুলি প্রথম লাল ডিস্কটি তুলে লাল লক্ষ্যে পৌঁছে দেওয়ার জন্য প্রয়োজনীয় গতিবিধি নির্দেশ করে, তারপর ঘুরিয়ে সবুজ লক্ষ্যের দিকে গাড়ি চালায়।
  • একবার প্রথম লাল ডিস্কটি সরানো হলে, VR রোবটটিকে সবুজ লক্ষ্যে ড্রাইভ করতে হবে এবং নীল এবং লাল ডিস্কটি সরানোর জন্য, প্রথম সবুজ ডিস্কটি সরানোর জন্য একই অ্যাকশনগুলি সম্পাদন করতে হবে।

    শুরুর কনফিগারেশনে ডিস্ক মুভার খেলার মাঠের উপর থেকে নিচের দৃশ্য, নীল গোল শুরুর স্থানে রোবটটি। বিন্দুযুক্ত তীরগুলি রোবট ড্রাইভকে প্রতিটি ডিস্কের প্রথমটি তুলে সংশ্লিষ্ট লক্ষ্যে পৌঁছে দেওয়ার জন্য বারবার ব্যবহৃত আচরণগুলি দেখায়।
  • আচরণগুলি একাধিকবার পুনরাবৃত্তি করার জন্য, একটি [পুনরাবৃত্তি] ব্লক ব্যবহার করা যেতে পারে।

    টুলবক্স থেকে একটি VEXcode VR রিপিট ব্লক, যার প্যারামিটারটি ডিফল্ট 10 এ সেট করা আছে।
  • কোডে একটি [পুনরাবৃত্তি] ব্লক যোগ করুন এবং প্যারামিটারটিকে '3'-তে সেট করুন।

    বিদ্যমান VEXcode VR প্রকল্পে একটি রিপিট ব্লক যোগ করার একটি সারসংক্ষেপ, যাতে প্রথম নীল ডিস্কটি তুলে নীল লক্ষ্যে নিয়ে যাওয়ার জন্য, পরবর্তী লক্ষ্যে ড্রাইভে ঘুরতে এবং তারপর ডিস্কের মুখোমুখি হওয়ার জন্য প্রয়োজনীয় সমস্ত ব্লকগুলি রিপিট ব্লকের C-এর মধ্যে মোড়ানো থাকে। পুনরাবৃত্তি ব্লক প্যারামিটারটি 3 তে সেট করা আছে।
  • ডিস্ক মুভার প্লেগ্রাউন্ড খুলুন এবং প্রকল্পটি চালান।
  • যখন এই প্রকল্পটি চালানো হয়, VR রোবট প্রতিটি রঙের একটি ডিস্ককে তার সংশ্লিষ্ট রঙিন লক্ষ্যে তুলে নেয় এবং ফেলে দেয়।

    প্রকল্পটি চালানোর পরে ডিস্ক এবং রোবটের চূড়ান্ত অবস্থা দেখানো ডিস্ক মুভার খেলার মাঠের উপর থেকে নিচের দৃশ্য। প্রতিটি রঙের ডিস্কের প্রথমটি মিলে যাওয়া রঙের গোলটিতে থাকে এবং ভিআর রোবটটি সবুজ গোলের প্রান্তে খেলার মাঠের দেয়ালে থাকে।
  • উল্লেখ্য যে ভিআর রোবটটি দেয়ালে ড্রাইভ করতে থাকে। এই আচরণটি প্রত্যাশিত কারণ প্রকল্পটি VR রোবটকে ডানদিকে ঘুরতে এবং পরবর্তী লক্ষ্যের দিকে তিনবার গাড়ি চালানোর নির্দেশ দিয়েছে। প্রথমবার নীল থেকে লালে গাড়ি চালাচ্ছে। দ্বিতীয়টি লাল থেকে সবুজ, এবং তৃতীয়টি সবুজ থেকে দেয়ালে, যেহেতু অন্য রঙিন গোল নেই৷ VR রোবট দেয়ালে আঘাত করলে প্রকল্পটি বন্ধ করুন। প্রকল্পটি উন্নত করা যেতে পারে যাতে ভিআর রোবটটি গ্রিন ডিস্কটি তোলার পরে থেমে যায়, তবে এটি প্রকল্পের সামগ্রিক জটিলতাকে বাড়িয়ে তুলবে।

    খেলার মাঠের জানালায় প্রকল্পের শেষে সবুজ গোল এলাকার মধ্যে VR রোবট দেখা যাচ্ছে, যেখানে একটি লাল বাক্স দ্বারা "স্টপ" বোতামটি হাইলাইট করা আছে যা রোবটটি দেয়ালে আঘাত করার আগে প্রকল্পটি বন্ধ করার ইঙ্গিত দিচ্ছে।

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

একটি লুপ অন্য লুপের ভিতরে স্থাপন করাকে নেস্টিং বলে। আপনি যখন "নেস্ট" লুপ করেন, তখন বাইরের লুপটি ভিতরের লুপটি কতবার কার্যকর করে তা নিয়ন্ত্রণ করে। বিভিন্ন ধরণের লুপ রয়েছে যা নেস্ট করা যেতে পারে। উদাহরণস্বরূপ, উপরের পূর্ববর্তী কোডে, [পুনরাবৃত্তি] ব্লকগুলি একটি [পুনরাবৃত্ত] ব্লকের ভিতরে নেস্ট করা না হওয়া পর্যন্ত।

আগের একই VEXcode VR প্রকল্প, যেখানে দেখানো হয়েছে কিভাবে Repeat until C ব্লকগুলি Repeat ব্লকের মধ্যে নেস্ট করা হয়, যা রোবটকে তিনটি ডিস্ক সফলভাবে সরাতে সক্ষম করে।

একটি [পুনরাবৃত্ত] ব্লক অন্য [পুনরাবৃত্তি] ব্লকের ভিতরেও নেস্ট করা যেতে পারে। নিম্নলিখিত উদাহরণে, যেহেতু বাইরের [পুনরাবৃত্তি] ব্লকটি '3' তে সেট করা হয়েছে, তাই VR রোবট খেলার মাঠে তিনটি স্কোয়ার আঁকবে।

বাম দিকে, একটি প্রকল্পে 3 তে সেট করা একটি রিপিট ব্লক দেখানো হয়েছে, যেখানে রিপিট ব্লকটি ভিআর রোবটকে কোড করার জন্য প্রয়োজন যাতে এটির মধ্যে একটি বর্গক্ষেত্র আঁকতে পারে, যা নেস্টেড লুপের ধারণাটি চিত্রিত করে। ডানদিকে, খেলার মাঠের উইন্ডোতে প্রকল্প থেকে রোবট দ্বারা আঁকা তিনটি বর্গক্ষেত্র দেখানো হয়েছে।

নেস্টেড লুপগুলি এমন প্রকল্পগুলিতে সহায়ক যেখানে একটি ভিআর রোবট একই আচরণ একাধিকবার পুনরাবৃত্তি করে। নেস্টিং লুপগুলি একটি প্রকল্পকে সংগঠিত করে এবং ঘনীভূত করে। এটি কোডের প্রেক্ষাপট এবং উদ্দেশ্য আরও ভালভাবে বোঝার পাশাপাশি ত্রুটিগুলি খুঁজে পাওয়া সহজ করে তুলতে সহায়ক হতে পারে।

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