Skip to main content

পাঠ ৩: যখন লাল রঙ সনাক্ত করা হয়

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

ভিডিও ফাইল
  • ডাউন আই সেন্সর লাল সীমানা শনাক্ত করলে কী ঘটবে তা নির্দেশ করার জন্যwhileলুপের শেষে একটি মন্তব্য যোগ করুন। আপনার প্রকল্পটি এখন এইরকম দেখা উচিত:

    def main():
    	# লাল সীমানা সনাক্ত না হওয়া পর্যন্ত ভবনটি সন্ধান করুন
    	while not down_eye.detect(RED):
    		# দূরত্ব সেন্সর কি দুর্গ সনাক্ত করে?
    		
    		যদি front_distance.found_object():
    			# দূরত্ব সেন্সর দ্বারা ক্র্যাশ দুর্গ সনাক্ত করা হয়
    			drivetrain.drive(FORWARD)
    		
    		অন্যথায়:
    			# দূরত্ব সেন্সর ব্যবহার করে একটি দুর্গ খুঁজে পেতে ঘুরুন
    			drivetrain.turn(RIGHT)
    			
    		wait(5, MSEC)
    		
    	# লাল সীমানা সনাক্ত হলে বিপরীত করুন এবং ঘুরুন
  • মন্তব্যের নিচে একটি drive_forএবং turn_for কমান্ড যোগ করুন যাতে VR রোবটটি লাল রঙ শনাক্ত করার পর বিপরীত দিকে ঘুরতে পারে।

    def main():
    	# লাল সীমানা সনাক্ত না হওয়া পর্যন্ত ভবনটি সন্ধান করুন
    	while not down_eye.detect(RED):
    		# দূরত্ব সেন্সর কি দুর্গ সনাক্ত করে?
    		
    		যদি front_distance.found_object():
    			# দূরত্ব সেন্সর দ্বারা ক্র্যাশ দুর্গ সনাক্ত করা হয়
    			drivetrain.drive(FORWARD)
    		
    		অন্যথায়:
    			# দূরত্ব সেন্সর ব্যবহার করে একটি দুর্গ খুঁজে পেতে ঘুরুন
    			drivetrain.turn(RIGHT)
    			
    		wait(5, MSEC)
    		
    	# লাল সীমানা সনাক্ত হলে বিপরীত করুন এবং ঘুরুন
    	drivetrain.drive_for(REVERSE, 300, MM)
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Dynamic Castle Crasher Playgroundযদি ইতিমধ্যে খোলা না থাকে, তাহলে সেটি খুলুন এবং প্রকল্পটি চালান। VR রোবট কি আপনার ইচ্ছা অনুযায়ী আচরণ করে?
  • যখন এই প্রকল্পটি চালানো হয়, তখন দুটি শর্ত আছে যা চেক করা হয়। প্রথমটি হল while লুপের ভিতরে লাল রঙ সনাক্তকারী ডাউন আই সেন্সরের অবস্থা। মনে রাখবেন যে প্রকল্পের প্রবাহটি বস্তু সনাক্ত হওয়ার পরবর্তী অবস্থায় চলে যায় শুধুমাত্র যদি ডাউন আই সেন্সর লাল রঙ দেখতে না পায়। যদি ডাউন আই সেন্সর লাল রঙ শনাক্ত করে, তাহলে প্রজেক্ট ফ্লো if else স্টেটমেন্ট এড়িয়ে যায় এবং বিপরীত দিকে গাড়ি চালাতে এবং ঘুরতে লাফ দেয়।
    এই পাঠের পাইথন প্রকল্প কোড, পাশে প্রকল্পের প্রবাহ দেখানো একটি চিত্র সহ। এটিতে লেখা আছে "প্রথম অবস্থা পরীক্ষা করা হয়েছে: ডাউন আই সেন্সর কমলা রঙের মধ্যে লাল সনাক্ত করে, যা লুপের শুরুকে প্রতিনিধিত্ব করে।" ডাউন আই সেন্সর যখন লাল রঙ শনাক্ত করে তখন একটি লাল তীর লুপ থাকে, যা True রিপোর্ট করবে এবং Project পুনরাবৃত্তিমূলক চেহারা থেকে বেরিয়ে আসবে। যদি এটি মিথ্যা রিপোর্ট করে, তাহলে কোডটি if then স্টেটমেন্টে চলে যাবে এবং ডাউন আই সেন্সর লাল সনাক্ত না করা পর্যন্ত পুনরাবৃত্তি করতে থাকবে।
 
  • দ্বিতীয় যে শর্তটি পরীক্ষা করা হয় তা হলif elseস্টেটমেন্ট। ডাউন আই সেন্সর লাল রঙ সনাক্ত না করলেও, দূরত্ব সেন্সরের অবস্থা পরীক্ষা করার জন্য প্রকল্পটিwhileলুপে চলতে থাকবে। ভিআর রোবটটি দূরত্ব সেন্সর থেকে ডেটা ব্যবহার করে এগিয়ে যাওয়ার বা ডানদিকে মোড় নেওয়ার সিদ্ধান্ত নেবে। এই পাঠের পাইথন প্রকল্প কোড, পাশে প্রকল্পের প্রবাহ দেখানো একটি চিত্র সহ। এটিতে লেখা আছে "দ্বিতীয় অবস্থা পরীক্ষা করা হয়েছে: দূরত্ব সেন্সর বস্তু সনাক্ত করে।" এটি দেখায় যে দ্বিতীয় শর্তটি পরীক্ষা করা হলে কী হবে, এবং যদি এটি সত্য বলে রিপোর্ট করা হয়, তাহলে VR রোবট এগিয়ে যাবে, এবং যদি দ্বিতীয় শর্তটি মিথ্যা বলে রিপোর্ট করা হয়, তাহলে VR রোবট ডানদিকে ঘুরবে।
  • যাইহোক, একবার ডাউন আই সেন্সর রঙ লাল শনাক্ত করলে, ভিআর রোবটটি বিপরীত দিকে ড্রাইভ করবে, ঘুরবে, তারপর থামবে যেহেতু এটি প্রকল্প প্রবাহের শেষ। আচরণের পুনরাবৃত্তি করার জন্য কোন লুপ ব্যবহার করা হয় না।

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

একটি অসীম যখন লুপ যোগ করা হচ্ছে

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

    def main():
    
    	while True:
    		# লাল সীমানা সনাক্ত না হওয়া পর্যন্ত বিল্ডিং সন্ধান করুন
    		while not down_eye.detect(RED):
    			# দূরত্ব সেন্সর কি দুর্গ সনাক্ত করে?
    		
    			যদি front_distance.found_object():
    				# দূরত্ব সেন্সর দ্বারা ক্র্যাশ দুর্গ সনাক্ত করা হয়
    				drivetrain.drive(FORWARD)
    		
    			অন্যথায়:
    				# দূরত্ব সেন্সর ব্যবহার করে একটি দুর্গ খুঁজে পেতে ঘুরুন
    				drivetrain.turn(RIGHT)
    			
    			wait(5, MSEC)
    		
    		# লাল সীমানা সনাক্ত হলে বিপরীত করুন এবং ঘুরুন
    		drivetrain.drive_for(REVERSE, 300, MM)
    		drivetrain.turn_for(RIGHT, 90, DEGREES)
    
  • Dynamic Castle Crasher Playgroundযদি ইতিমধ্যে খোলা না থাকে, তাহলে সেটি খুলুন এবং প্রকল্পটি চালান। ভিআর রোবট কি আপনার ইচ্ছা অনুযায়ী আচরণ করে? 
  • এই প্রকল্পটি চালানো হলে, VR রোবট একটি শনাক্ত দুর্গের দিকে ড্রাইভ করবে এবং কোন দুর্গের রিপোর্ট না হলে ডানদিকে ঘুরবে। ডাউন আই সেন্সর একবার লাল রঙ শনাক্ত করলে, ভিআর রোবটটি উল্টো দিকে ড্রাইভ করে, বাঁক নেয় এবং অন্য দুর্গের দিকে গাড়ি চালিয়ে যেতে থাকে।

    ডায়নামিক ক্যাসেল ক্র্যাশার খেলার মাঠের উপর থেকে নিচের দৃশ্যে দেখা যাচ্ছে যে ভিআর রোবটটি খেলার মাঠের একাধিক দুর্গের উপর দিয়ে ভেঙে পড়েছে এবং এখন শেষ দাঁড়িয়ে থাকা দুর্গের দিকে এগিয়ে যাচ্ছে।

প্রশ্ন

পাঠ কুইজ অ্যাক্সেস করতে নীচের একটি লিঙ্ক নির্বাচন করুন.

গুগল ডক / .ডকএক্স / .পিডিএফ