Skip to main content

গ্রুভ মেশিন চ্যালেঞ্জ - সি++

VEX V5 Clawbot, হাত উপরে এবং নখর খোলা।
VEX V5 Clawbot এর আর্ম আপ এবং ক্ল ওপেন সহ।

গ্রুভ মেশিন চ্যালেঞ্জ

এই চ্যালেঞ্জে, তুমি দলে ভাগ হয়ে যাবে এবং লুপ সম্পর্কে তোমার জ্ঞান ব্যবহার করে একটি নাচের রুটিনের মধ্য দিয়ে যাওয়ার জন্য তোমার রোবটকে প্রোগ্রাম করবে। তোমার শিক্ষক নৃত্যটি তৈরি/পরীক্ষা করার জন্য একটি সময়সীমা এবং নৃত্যের দৈর্ঘ্যের জন্য একটি সময়সীমা নির্ধারণ করবেন। প্রতিযোগী হেড-টু-হেড ডান্স-অফ দলে অন্তর্ভুক্ত নয় এমন সকলেই নাচের বিচার করবেন এবং তাদের মনে হয় সেরা দলটিকে ভোট দেবেন।

 

নিয়ম:

  • প্রতিটি ক্লবট ১x১ মিটার এলাকার মধ্যে একে একে নাচবে।
  • প্রকল্পটি বন্ধ করার জন্য ব্রেনের স্ক্রিনে "স্টপ" বোতামটি চাপা না দেওয়া পর্যন্ত নাচ চলতে থাকে।
  • বাহু উঁচু এবং নিচু করতে হবে।
  • নখরটি খুলতে এবং বন্ধ করতে হবে।
  • ক্লবটটিকে অবশ্যই বাম এবং ডানে ঘুরতে হবে।
  • ক্লবটকে সামনের দিকে এবং বিপরীত দিকে গাড়ি চালাতে হবে।
  • ক্লবট যদি কোনও কিছুর সাথে ধাক্কা খায় বা উল্টে পড়ে যায়, তাহলে প্রকল্পটি অবিলম্বে বন্ধ করে দেওয়া উচিত। এটা একটা হেরে যাওয়া নাচ।

শিক্ষক টুলবক্স আইকন শিক্ষক টুলবক্স

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

// V5 লাইব্রেরি
অন্তর্ভুক্ত করুন #include "vex.h"

// namespace vex;

int main() ব্যবহার করে VEX লাইব্রেরি
এর সহজ ব্যবহারের অনুমতি দেয় {
  // রোবট কনফিগারেশন শুরু করা। সরাবেন না!
  vexcodeInit();
  
  while (true) {
    ArmMotor.spinFor(forward, 300, degrees);
    ArmMotor.setStopping(brake);

    repeat(3) {
      Drivetrain.turnFor(right, 90, degrees);

      repeat(2) {
        ClawMotor.spinFor(forward, 90, degrees);
        ClawMotor.spinFor(reverse, 90, degrees);
      }

      Drivetrain.turnFor(left, 90, degrees);

      repeat(2) {
        ClawMotor.spinFor(forward, 90, degrees);
        ClawMotor.spinFor(reverse, 90, degrees);
      }
    }

    repeat(2) {
      ArmMotor.spinFor(forward, 300, degrees);
      ArmMotor.setStopping(ব্রেক);
      Drivetrain.turnFor(ডানদিকে, ৯০, ডিগ্রি);

      repeat(৯) {
        Drivetrain.turnFor(বামদিকে, ১০, ডিগ্রি);
        wait(.৫, সেকেন্ড);
      }

      ArmMotor.spinFor(বিপরীত, ৩০০, ডিগ্রি);
    }

    ArmMotor.setVelocity(৮০, শতাংশ);
    Drivetrain.setTurnVelocity(৬৫, শতাংশ);

    repeat(২) {
      ArmMotor.spinFor(সামনে, ৯০০, ডিগ্রি);

      repeat(৩) {
        Drivetrain.turnFor(বামদিকে, ৯০, ডিগ্রি);
        Drivetrain.turnFor(ডানদিকে, ৯০, ডিগ্রি);
      }

      ArmMotor.spinFor(বিপরীত, ৯০০, ডিগ্রি);
    }
  }
}