প্রতিযোগিতা#

ভূমিকা#

competition ক্লাসটি আপনাকে আনুষ্ঠানিক প্রতিযোগিতা নিয়ন্ত্রণের জন্য একটি V5 প্রজেক্টের কাঠামো তৈরি করতে সাহায্য করে। এটি আপনাকে স্বয়ংক্রিয় (Autonomous) এবং চালক-নিয়ন্ত্রণ (Driver Control) চলাকালীন চালানোর জন্য ফাংশন নিবন্ধন করতে দেয় এবং সহজ স্ট্যাটাস চেকের সুবিধা প্রদান করে, যাতে আপনার কোড সংশ্লিষ্ট অবস্থার (সক্ষম/অক্ষম, স্বয়ংক্রিয়/চালক, ফিল্ড কন্ট্রোল, ইত্যাদি) সাথে সাড়া দিতে পারে।

ক্লাস কনস্ট্রাক্টর#

competition();

ক্লাস ডেস্ট্রাক্টর#

competition বস্তুটি ধ্বংস করে এবং সংশ্লিষ্ট সম্পদসমূহ মুক্ত করে।

~competition();

প্যারামিটার#

এই কনস্ট্রাক্টরটি কোনো প্যারামিটার গ্রহণ করে না।

উদাহরণ#

// Create the competition instance
competition Competition = competition();

সদস্যদের কার্যাবলী#

competition ক্লাসে নিম্নলিখিত সদস্য কার্যাবলী অন্তর্ভুক্ত রয়েছে:

  • autonomous — স্বায়ত্তশাসিত সময়কাল শুরু হলে কল করার জন্য একটি ফাংশন নিবন্ধন করে।

  • drivercontrol — ড্রাইভার কন্ট্রোল পিরিয়ড শুরু হলে কল করার জন্য একটি ফাংশন রেজিস্টার করে।

  • isEnabled — প্রতিযোগিতা নিয়ন্ত্রণে থাকাকালীন আপনার রোবটের অবস্থা ফেরত দেয়।

  • isDriverControl — রোবটের অবস্থা ড্রাইভার নিয়ন্ত্রণে আছে কিনা তা ফেরত দেয়।

  • isAutonomous — রোবটের অবস্থা স্বায়ত্তশাসিত কিনা তা ফেরত দেয়।

  • isCompetitionSwitch — প্রতিযোগিতা সুইচটি সংযুক্ত আছে কিনা তা ফেরত দেয়।

  • isFieldControl — ফিল্ড কন্ট্রোলটি সংযুক্ত কিনা তা ফেরত দেয়।

যেকোনো competition সদস্যের ফাংশন কল করার আগে, competition ইনস্ট্যান্স তৈরি করতে হবে, যেমনটি নিচে দেখানো হয়েছে:

// Create the competition instance
competition Competition = competition();

autonomous#

স্বায়ত্তশাসিত সময়কাল শুরু হলে যে ফাংশনটি কল করা হবে, তা নিবন্ধন করে।

Available Functions
void autonomous( void (* callback)(void) );

Parameters

নাম

প্রকার

বর্ণনা

callback

void (*)(void)

এমন একটি ফাংশনের পয়েন্টার যা কোনো প্যারামিটার গ্রহণ করে না এবং কোনো মান ফেরত দেয় না। স্বায়ত্তশাসিত সময়কাল শুরু হলে এই ফাংশনটি চলবে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Examples
void autonomousControl(void) {
  // Place automonous code here.
  Brain.Screen.clearScreen();
  Brain.Screen.print("autonomous");
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the autonomous control period.
    Competition.autonomous(autonomousControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

drivercontrol#

ড্রাইভার কন্ট্রোল পিরিয়ড শুরু হলে কল করার জন্য একটি ফাংশন রেজিস্টার করে।

Available Functions
void drivercontrol( void (* callback)(void) );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

callback

void (*)(void)

এমন একটি ফাংশনের পয়েন্টার যা কোনো প্যারামিটার গ্রহণ করে না এবং কোনো মান ফেরত দেয় না। ড্রাইভার কন্ট্রোল পিরিয়ড শুরু হলে এই ফাংশনটি রান করবে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Examples
void userControl(void) {
  Brain.Screen.clearScreen();
  // place driver control in this while loop
  while (true) {
    wait(20, msec);
  }
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the driver control period.
    Competition.drivercontrol(userControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

isEnabled#

প্রতিযোগিতার নিয়ন্ত্রণে থাকাকালীন আপনার রোবটের অবস্থা জানায়।

Available Functions
bool isEnabled();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

স্বয়ংক্রিয় নাকি চালক নিয়ন্ত্রণ পর্যায় সক্রিয় আছে, তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে:

  • true – স্বায়ত্তশাসিত বা চালক নিয়ন্ত্রণ সময়কাল সক্রিয় আছে।

  • false – কোনো নিয়ন্ত্রণ সময়কালই সক্রিয় নয়।

isDriverControl#

রোবটটি ড্রাইভার কন্ট্রোল মোডে আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে।

Available Functions
bool isDriverControl();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

রোবটটি ড্রাইভার কন্ট্রোল মোডে আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে:

  • true – রোবটটি চালক নিয়ন্ত্রণ মোডে আছে।

  • false – রোবটটি চালক নিয়ন্ত্রণ মোডে নেই।

isAutonomous#

রোবটটি স্বয়ংক্রিয় মোডে আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে।

Available Functions
bool isAutonomous();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

রোবটটি স্বায়ত্তশাসিত মোডে আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান ফেরত দেয়:

  • true – রোবটটি স্বয়ংক্রিয় মোডে আছে।

  • false – রোবটটি স্বায়ত্তশাসিত মোডে নেই।

isCompetitionSwitch#

কম্পিটিশন কন্ট্রোল সুইচটি সংযুক্ত আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে:

Available Functions
bool isCompetitionSwitch();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Notes
  • এই ফাংশনটি কম্পিটিশন কন্ট্রোল সুইচটি সংযুক্ত আছে কিনা তা পরীক্ষা করে। V5 ফিল্ড কন্ট্রোল সিস্টেমটি স্থাপন করার আগে কম্পিটিশন কন্ট্রোল সুইচটি ব্যবহৃত হয়।

Return Values

কম্পিটিশন কন্ট্রোল সুইচটি সংযুক্ত আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে:

  • true – প্রতিযোগিতা নিয়ন্ত্রণ সুইচটি সংযুক্ত আছে।

  • false – প্রতিযোগিতা নিয়ন্ত্রণ সুইচটি সংযুক্ত নেই।

isFieldControl#

ফিল্ড কন্ট্রোলারটি সংযুক্ত আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে।

Available Functions
bool isFieldControl();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

ফিল্ড কন্ট্রোলারটি সংযুক্ত আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে:

  • true – ফিল্ড কন্ট্রোলারটি সংযুক্ত আছে।

  • false – ফিল্ড কন্ট্রোলারটি সংযুক্ত নয়।