পাঠ ২: পরবর্তী ডিস্কে ড্রাইভ করুন
ব্লু ডিস্কে গাড়ি চালান
পূর্ববর্তী প্রকল্পে ভিআর রোবট ডানদিকে ঘুরিয়ে দেওয়া হয়েছিল যখন ফ্রন্ট আই সেন্সর একটি সবুজ ডিস্ক সনাক্ত করে, যা ভিআর রোবটকে গোলকধাঁধার প্রথম ধাপে নিয়ে গিয়েছিল। এখন, আমরা প্রকল্পটি আরও উন্নত করব যাতে VR রোবট Disk Maze Playgroundএর প্রথম চারটি ডিস্কে চলে যায়।
সবুজ ডিস্কে ডানদিকে বাঁক নেওয়ার পরে VR রোবটটি কোথায় মুখোমুখি হচ্ছে তা দেখে, আমরা দেখতে পাচ্ছি যে পরবর্তী তিনটি নীল ডিস্কে নেভিগেট করতে, VR রোবটটিকে এগিয়ে যেতে হবে এবং প্রতিটি নীল ডিস্কে বাম দিকে ঘুরতে হবে। আমরাwhileলুপের একই লজিক ব্যবহার করতে পারি,নয়শর্তের সাথে, যাতে VR রোবটটি গোলকধাঁধার মধ্য দিয়ে চলতে থাকে এবং নীল ডিস্ক সনাক্ত করলে বাম দিকে ঘুরতে পারে।
- ভিআর রোবটের পরবর্তী আচরণগুলি বর্ণনা করতে বিদ্যমান প্রকল্পে turn_for নীচে আরেকটি মন্তব্য যোগ করুন। আপনার প্রকল্পটি দেখতে এরকম হওয়া উচিত:
def main():
# প্রথম ডিস্কে ড্রাইভ করুন (সবুজ), ডানে ঘুরুন
যখন front_eye.detect(GREEN নয়):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# দ্বিতীয় ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন- নতুন মন্তব্যের নিচে, not শর্তসহ আরও একটি while লুপ যোগ করুন। শর্তটি detectকমান্ডে সেট করুন এবং প্যারামিটারগুলি "নীল" তে সেট করুন, কারণ VR রোবট পরবর্তী যে ডিস্কটির মুখোমুখি হবে তা নীল।
# দ্বিতীয় ডিস্কে ড্রাইভ করুন (নীল), বাম দিকে
ঘুরুন, front_eye.detect(নীল):
অপেক্ষা করুন (5, MSEC)- while লুপের ভিতরে, নন-ওয়েটিং ড্রাইভ কমান্ড টেনে আনুন বা টাইপ করুন।
# দ্বিতীয় ডিস্কে ড্রাইভ করুন (নীল), বাম দিকে
ঘুরুন, front_eye.detect(নীল):
drivetrain.drive(FORWARD)
wait(5, MSEC)- টেনে আনুন বা টাইপ করুন একটি turn_for কমান্ড, এবং প্যারামিটারগুলিকে বাম দিকে 90 ডিগ্রি ঘুরানোর জন্য সেট করুন।
# দ্বিতীয় ডিস্কে গাড়ি চালান (নীল), বাম দিকে
ঘুরুন, front_eye.detect(নীল):
ড্রাইভট্রেন.ড্রাইভ(ফরওয়ার্ড)
অপেক্ষা(৫, MSEC)
ড্রাইভট্রেন.টারন_ফর(বাম, ৯০, ডিগ্রি)- ডিস্ক মেজ প্লেগ্রাউন্ডের মধ্য দিয়ে ভিআর রোবট কীভাবে চলাচল করে তা দেখতে প্রকল্পটি চালান.
- লক্ষ্য করুন যে সামনের চোখের সেন্সর একটি সবুজ ডিস্ক সনাক্ত করলে VR রোবটটি ডানদিকে ঘুরবে এবং সামনের চোখের সেন্সর একটি নীল ডিস্ক শনাক্ত করলে বাম দিকে ঘুরবে৷
- ফ্রন্ট আই সেন্সর ব্যবহার করে ডিস্ক মেজ প্লেগ্রাউন্ড এ VR রোবটটিকে আরও দুটি নীল ডিস্কে চালাতে এই প্রকল্পটি তৈরি করা চালিয়ে যান। প্রকল্পে কমান্ড যোগ করুন, VR রোবটটিকে পরবর্তী দুটি ডিস্কে নেভিগেট করুন এবং তারপর থামুন। আপনার সম্পূর্ণ প্রকল্পটি এখন এইরকম দেখাবে:
def main():
# প্রথম ডিস্কে ড্রাইভ করুন (সবুজ), ডানে ঘুরুন
while not front_eye.detect(GREEN):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(ডান, 90, DEGREES)
# দ্বিতীয় ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
while not front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)
# তৃতীয় ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
while not front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)
# চতুর্থ ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
while not front_eye.detect(BLUE):
ড্রাইভট্রেন.ড্রাইভ(এগিয়ে)
অপেক্ষা(৫, এমএসইসি)
ড্রাইভট্রেন.টার্ন_ফর(বাম, ৯০, ডিগ্রি)ভিআর রোবটের গতিবিধিতে একটি প্যাটার্ন সনাক্ত করা
ফ্রন্ট আই সেন্সরের সাহায্যে ডিস্ক মেজ সফলভাবে নেভিগেট করার লক্ষ্য হল একটি সামঞ্জস্যপূর্ণ প্যাটার্ন তৈরি করা যেখানে ভিআর রোবট যখন ফ্রন্ট আই সেন্সর একটি সবুজ ডিস্ক সনাক্ত করে তখন ডানে ঘুরবে এবং যখন ফ্রন্ট আই সেন্সর একটি নীল ডিস্ক সনাক্ত করে তখন বামে ঘুরবে। এই ধরনের নিদর্শনগুলি সনাক্ত করা আপনাকে আপনার প্রকল্পগুলিকে সহজ করতে সাহায্য করতে পারে কারণ সেগুলি জটিলতায় বৃদ্ধি পায়।

আপনার তথ্যের জন্য
লক্ষ্য করুন যে প্রজেক্টে কমান্ডের ক্রমানুসারে একটি প্যাটার্নও রয়েছে। প্রকল্পে (নীল ডিস্কের জন্য) কমান্ডের একটি সিরিজ রয়েছে যা তিনবার পুনরাবৃত্তি করা হয়েছে। কোডের এই অংশটিকে লুপের জন্য ব্যবহার করে ঘনীভূত করা যেতে পারে। এখানে দেখানো প্রকল্পটি নীল ডিস্কের সাথে সম্পর্কিত তিনটি এবং লুপকে একটি একক এর জন্য লুপে একত্রিত করে।
def main():
# প্রথম ডিস্কে ড্রাইভ করুন (সবুজ), ডানে ঘুরুন
while not front_eye.detect(GREEN):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# পরবর্তী 3 ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
for value in range(3):
while not front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)forলুপ ব্যবহার করলে আপনার প্রকল্পটি আরও সহজ এবং সহজে পঠনযোগ্য হতে পারে, তবে একটি লুপের ভিতরে পুনরাবৃত্তিমূলক কমান্ডগুলি ধারণ করতে পারে।
- ডিস্ক মেজ প্লেগ্রাউন্ড খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে এবং প্রকল্পটি চালান।
-
ডিস্ক মেজ প্লেগ্রাউন্ডএ ভিআর রোবটটিকে চারটি ডিস্কে নেভিগেট করতে দেখুন।

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