প্যাকেজ ড্যাশ চ্যালেঞ্জ - সি++

প্যাকেজ ড্যাশ চ্যালেঞ্জ
এই চ্যালেঞ্জে, আপনি আপনার রোবটকে প্রোগ্রাম করবেন যাতে প্যাকেজগুলি তুলে যত তাড়াতাড়ি সম্ভব লোডিং ডকে নিয়ে আসা যায়!
চ্যালেঞ্জের নিয়ম:
- রোবটটিকে স্টার্ট জোনে চ্যালেঞ্জ শুরু করতে হবে।
- প্যাকেজগুলি (অ্যালুমিনিয়ামের ক্যান) কেবল বই, ক্লবটের নখর এবং লোডিং ডকের সংস্পর্শে আসতে পারে।
- যদি কোনও প্যাকেজ গুদামের মাটিতে পড়ে যায়, তাহলে আপনাকে অবশ্যই ক্ষেত্রটি পুনরায় সেট করতে হবে এবং আবার শুরু করতে হবে।
- রোবটটি নড়াচড়া করার সাথে সাথে প্রতিটি দৌড়ের সময় শুরু হয়।
- শেষ প্যাকেজটি লোডিং ডকে ফেলার সাথে সাথে সময় বন্ধ হয়ে যায়।
- ক্ষেত্রটি পুনরায় সেট করার সময়, সবকিছু ঠিক সেই স্থানে ফিরিয়ে আনা উচিত যেখানে এটি শুরু হয়েছিল।
- আনন্দ কর!
শিক্ষকদের টিপস
-
গুদামের পিছনের গল্প বা উদ্দেশ্য তৈরি করে সম্পৃক্ততা বৃদ্ধি করুন! এটি কোন ধরণের গুদাম? গুদামে কী ধরণের প্যাকেজ পাওয়া যায়? গুদামটির মালিক কে?
-
শিক্ষার্থীদের বিভিন্ন রুট বা কৌশল তৈরি করতে দিন যা তাদের ক্যানগুলি আরও দক্ষতার সাথে পরিবহন করতে সাহায্য করবে।
-
এই চ্যালেঞ্জের বিজয়ী নির্ধারণের জন্য (যদি আপনি এটি প্রতিযোগিতামূলকভাবে আয়োজন করেন) কেবল সমাপ্তির সময় তুলনা করবেন না, বরং ব্যবহৃত নেভিগেশন কৌশলগুলিও তুলনা করুন যাতে শিক্ষার্থীরা অন্যান্য দলের সমাধানগুলি বিবেচনা করতে পারে।
শিক্ষক টুলবক্স
-
সমাধান
শিক্ষার্থীদের মূল্যায়নের জন্য একটি প্রোগ্রামিং রুব্রিক এখানেপাওয়া যাবে
নিম্নলিখিতটি চ্যালেঞ্জের একটি সম্ভাব্য সমাধান। রোবটের শুরুর অবস্থান এবং বেছে নেওয়া পথের উপর নির্ভর করে সমাধানগুলি পরিবর্তিত হতে পারে। সমস্ত প্যাকেজ সরানোর জন্য একাধিক পথ রয়েছে।
int main() {
// রোবট কনফিগারেশন শুরু করা হচ্ছে। সরাবেন না!
vexcodeInit();
// নিরাপদে Claw মোটরটি চালান এবং প্রথম প্যাকেজটি তুলে নিন
ClawMotor.setTimeout(2, seconds);
Drivetrain.driveFor(forward, 900, mm);
Drivetrain.turnFor(right, 90, degrees);
ArmMotor.spinFor(forward, 315, degrees);
ClawMotor.spinFor(reverse, 180, degrees);
Drivetrain.driveFor(forward, 215, mm);
ClawMotor.spinFor(forward, 120, degrees);
// প্রথম প্যাকেজটি নামানোর জন্য লোডিং ডকে যান
Drivetrain.driveFor(reverse, 110, mm);
Drivetrain.turnFor(right, 90, degrees);
Drivetrain.driveFor(forward, 920, mm);
Drivetrain.turnFor(left, 90, degrees);
Drivetrain.driveFor(ফরোয়ার্ড, ২৩০০, মিমি);
Drivetrain.turnFor(বামে, ৯০, ডিগ্রি);
Drivetrain.driveFor(ফরোয়ার্ড, ৭৫০, মিমি);
ArmMotor.spinFor(বিপরীত, ৩১৫, ডিগ্রি);
ClawMotor.spinFor(বিপরীত, ১২০, ডিগ্রি);
// দ্বিতীয় প্যাকেজটি তুলে নিন
Drivetrain.driveFor(বিপরীত, ২০০, মিমি);
Drivetrain.turnFor(বামে, ১৭০, ডিগ্রি);
Drivetrain.driveFor(ফরোয়ার্ড, ৯০০, মিমি);
Drivetrain.turnFor(ডানে, ৯০, ডিগ্রি);
Drivetrain.driveFor(ফরোয়ার্ড, ২৩০০, মিমি);
ArmMotor.spinFor(ফরোয়ার্ড, ৩১৫, ডিগ্রি);
ClawMotor.spinFor(ফরোয়ার্ড, ১২০, ডিগ্রি);
// দ্বিতীয় প্যাকেজটি নামানোর জন্য লোডিং ডকে যান
Drivetrain.driveFor(forward, 900, mm);
Drivetrain.turnFor(right, 90, degrees);
Drivetrain.driveFor(forward, 960, mm);
ArmMotor.spinFor(reverse, 315, degrees);
ClawMotor.spinFor(reverse, 120, degrees);
// তৃতীয় প্যাকেজটি নিন
Drivetrain.driveFor(reverse, 150, mm);
Drivetrain.turnFor(left, 90, degrees);
ArmMotor.spinFor(forward, 315, degrees);
Drivetrain.driveFor(forward, 490, mm);
ClawMotor.spinFor(forward, 120, degrees);
// তৃতীয় প্যাকেজটি নামানোর জন্য লোডিং ডকে যান
Drivetrain.driveFor(বিপরীত, 490, মিমি);
Drivetrain.turnFor(ডান, 90, ডিগ্রি);
Drivetrain.driveFor(সামনে, 150, মিমি);
ArmMotor.spinFor(বিপরীত, 315, ডিগ্রি);
ClawMotor.spinFor(বিপরীত, 120, ডিগ্রি);
}