পাঠ ২: প্রকল্প-পরবর্তী সারাংশ
[যদি তাহলে অন্যথায়] ব্লকটি ব্যবহার করা হয় যাতে ভিআর রোবট সিদ্ধান্ত নিতে পারে। যদি বুলিয়ান কন্ডিশনটি TRUE হয়, তাহলে 'If Then' শাখার ভিতরের ব্লকগুলি চলবে। যদি বুলিয়ান কন্ডিশন FALSE হয়, তাহলে 'Else' শাখার ভিতরের ব্লকগুলি চলবে।

এই প্রজেক্টে, VR রোবটটি একটি বিল্ডিং এর দিকে চলে যায় যখন দূরত্ব সেন্সর একটি বস্তু সনাক্ত করে এবং <Distance found object> ব্লকটি সত্য হিসাবে রিপোর্ট করে। এতে প্রকল্পটির 'যদি তারপর' শাখাকে পরিচালনার নির্দেশ দেওয়া হয়। এই শাখার মধ্যে রয়েছে [ড্রাইভ] ব্লক। VR রোবট তারপর প্রকল্পের 'অন্য' শাখা এড়িয়ে যায়।

কারণ [If then else] ব্লকটি একটি [ফরএভার] ব্লকের ভিতরে স্থাপন করা হয়, প্রকল্পটি [যদি তাহলে অন্য] ব্লকের অবস্থা পরীক্ষা করার জন্য [ফরএভার] ব্লকের শীর্ষে ফিরে যায়। এই লুপ চিরতরে চলতে থাকবে, VR রোবটকে প্রতি সেকেন্ডে শত শত বার ক্রমাগত [যদি অন্যথায়] অবস্থা চেক করার নির্দেশ দেয়।
মনে রাখবেন যে [ড্রাইভ] এবং [টার্ন] ব্লকগুলি [যদি তারপর অন্য] ব্লকের অভ্যন্তরে অপেক্ষমাণ ব্লক। নন-ওয়েটিং ব্লকগুলি কোনও প্রকল্প চলমান থাকাকালীন তার প্রবাহকে থামায় না। [If then else] ব্লকে (যেমন অবজেক্ট সনাক্ত হলে ড্রাইভ ফরোয়ার্ড) কার্যকর করা একটি নন-ওয়েটিং আচরণ শর্তটি পরীক্ষা করার সময় অব্যাহত থাকবে এবং শর্তটি পরিবর্তন হলেই কেবল পরিবর্তন হবে।

যদি <Distance found object> ব্লক মিথ্যা হিসাবে রিপোর্ট করে, তাহলে প্রকল্পের 'অন্য' শাখাটি কার্যকর করা হবে। 'অন্য' শাখায় [টার্ন] ব্লক অন্তর্ভুক্ত।

আপনার তথ্যের জন্য
[তাহলে অন্যথায়] ব্লক ব্যবহার করা হয় নিশ্চিত করার জন্য যে প্রজেক্টের একটি মাত্র শাখা যখন কন্ডিশন চেক করা হয়। শুধুমাত্র একটি উদাহরণ বা শর্ত যেকোনো সময় সত্য হতে পারে। এটি প্রকল্পটিকে আরও দক্ষ করে তোলে।

বর্তমান প্রকল্পটির সাথে ইউনিট ৭-এ তৈরি প্রকল্পের তুলনা করুন। ইউনিট ৭ প্রকল্পে চারটি [যদি থাকে] ব্লক ব্যবহার করা হয়েছে।

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

একটি [if then else] ব্লক ব্যবহার করলে এই ধরনের বাগগুলি এড়ানো যায় কারণ এই ব্লকের সাথে একটি নির্দিষ্ট মুহুর্তে শুধুমাত্র একটি শর্তই সত্য হতে পারে।
