ইভেন্ট ব্যবহার করে#

Using Events

এই টিউটোরিয়ালে VEXcode IQ (২য় জেনারেশন)-এ ইভেন্ট ব্যবহারের পদ্ধতি আলোচনা করা হয়েছে। টিউটোরিয়াল শেষে, আপনি একটি ইভেন্ট ব্রডকাস্ট করতে এবং তার জবাবে অন্য একটি ব্লক স্ট্যাককে সাড়া দিতে সক্ষম হবেন।

ইভেন্ট একটি প্রোজেক্টের আলাদা আলাদা ব্লক স্ট্যাককে লজিক - ইভেন্টস ক্যাটাগরির ব্লক ব্যবহার করে একে অপরের সাথে যোগাযোগ করতে দেয়। যেসব ব্লকের নাম broadcast দিয়ে শুরু হয়, সেগুলো কোনো ইভেন্ট ঘটার সংকেত দেয়, এবং যেসব ব্লকের নাম when দিয়ে শুরু হয়, সেগুলো এর প্রতিক্রিয়ায় তাদের সাথে সংযুক্ত ব্লক স্ট্যাকটি চালু করে।

আপনার প্রজেক্টে একটি ব্রডকাস্ট ব্লক অথবা একটি ব্রডকাস্ট ও ওয়েট ব্লক যোগ করুন।

লজিক - ইভেন্টস টুলবক্স ক্যাটাগরির স্ক্রিনশট, যেখানে ব্রডকাস্ট এবং ব্রডকাস্ট অ্যান্ড ওয়েট ব্লকগুলো হাইলাইট করা হয়েছে।

বিদ্যমান কোনো ইভেন্ট বেছে নিতে, অথবা কোনো ইভেন্ট তৈরি, নাম পরিবর্তন বা মুছে ফেলতে ব্রডকাস্ট ব্লকের ড্রপডাউনটি নির্বাচন করুন।

ব্রডকাস্ট ব্লকের খোলা ড্রপডাউনের স্ক্রিনশট, যেখানে my_event অপশনটির সাথে New event, Rename event, এবং Delete the "my_event" ইভেন্টটির অপশনগুলো দেখা যাচ্ছে।

ওয়ার্কস্পেসে একটি when I receive ব্লক যোগ করুন এবং এর ড্রপডাউনটি আপনার broadcast ব্লকে ব্যবহৃত ইভেন্টের নামের সাথে মিলিয়ে সেট করুন। এরপর, এর নিচে ব্লকগুলো সংযুক্ত করুন, কারণ যখনই সেই ইভেন্টটি ব্রডকাস্ট হবে, তখনই ব্লকগুলো রান করবে।

লজিক - ইভেন্টস টুলবক্স ক্যাটাগরির স্ক্রিনশট, যেখানে 'when started' এবং 'when I receive' ব্লকগুলো হাইলাইট করা আছে।

যখন কোনো when I receive ব্লক একটি broadcast ব্লকের ব্যবহৃত ইভেন্টের নামের সাথে মিলে যায়, তখন প্রজেক্টটি রান করলে দুটি স্ট্যাকই একই সাথে চলতে পারে। উদাহরণস্বরূপ, রোবটটি ততক্ষণ ঘুরতে থাকবে যতক্ষণ না ব্রেইনের চেক বাটনটি চাপা হয়, তারপর এটি এমন একটি ইভেন্ট ব্রডকাস্ট করবে যা রোবটটিকে চালানো থেকে থামিয়ে দেবে।

চালু করা হলে, চেক বাটনটি চাপ না দেওয়া পর্যন্ত এটি ঘুরতে থাকে, তারপর একটি ইভেন্ট সম্প্রচার করে যা গৃহীত হলে রোবটটিকে থামিয়ে দেয়।#
শুরু হলে
[ডান v] দিকে ঘোরো
<Brain [চেক v] বোতাম চাপা হয়েছে?> না হওয়া পর্যন্ত অপেক্ষা করো
[my_event v] ব্রডকাস্ট করো
যখন আমি [my_event v] পাই
চালানো বন্ধ করো

when দিয়ে শুরু হওয়া ব্লকগুলো অন্যান্য ডিভাইস ক্যাটাগরির সাথেও পাওয়া যেতে পারে, যেগুলো সেই ডিভাইসের শর্ত পূরণ হলেই তাদের সাথে সংযুক্ত ব্লকগুলো চালায়। উদাহরণস্বরূপ, when Brain button এবং when Bumper ব্লকগুলো।

যখন ব্রেইন বাটন হ্যাট ব্লক।#
যখন Brain [◀ v] বোতাম [চাপা হয়েছে v]
যখন বাম্পার হ্যাট ব্লক।#
যখন [Bumper1 v] [চাপা হয়েছে v]