ऑटोमेड चैलेंज - C++
स्वचालित चुनौती
इस चुनौती में, आपको अपने रोबोट को अस्पताल में विभिन्न कमरों में मरीजों को दवाइयां वितरित करते समय नेविगेट करने के लिए प्रोग्राम करना होगा।
शिक्षक युक्तियाँ
अस्पताल की पृष्ठभूमि बनाकर सहभागिता बढ़ाएँ! यह किस प्रकार का अस्पताल है और यह किस प्रकार के रोगियों की सेवा करता है?
चुनौती नियम
-
रोबोट को स्टार्ट ज़ोन में शुरू और ख़त्म होना चाहिए।
-
संपूर्ण रोबोट को फार्मेसी, लिफ्ट और रोगी कक्ष के अंदर होना चाहिए और क्रियाओं को पूरा करने के लिए निम्नलिखित समय की प्रतीक्षा करनी चाहिए:
-
फार्मेसी: दवा लेने के लिए कम से कम 5 सेकंड प्रतीक्षा करें।
-
लिफ्ट: दूसरी मंजिल तक पहुंचने के लिए कम से कम 5 सेकंड प्रतीक्षा करें।
-
रोगी कक्ष: दवाइयां छोड़ने के लिए कम से कम 3 सेकंड प्रतीक्षा करें।
-
-
रोबोट को किसी भी दीवार के संपर्क में नहीं आना चाहिए या उसके ऊपर से नहीं गुजरना चाहिए।
-
रोबोट को पहले मरीज के कमरे के लिए दवाइयां लेने के लिए फार्मेसी जाना होगा।
-
रोबोट को दवाइयां छोड़ने के लिए प्रत्येक रोगी कक्ष में जाना होगा (किसी विशेष क्रम में नहीं)।
-
मजा करो!
शिक्षक टूलबॉक्स
-
समाधान
छात्रों का मूल्यांकन करने के लिए एक प्रोग्रामिंग रूब्रिक यहां पाया जा सकता है (Google / .docx / .pdf )
नीचे एक VEXcode V5 C++ नमूना समाधान देखें:
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ कर रहा है. दूर नहीं करते!
vexcodeInit();
// प्रोजेक्ट कोड शुरू करें
// फार्मेसी पर जाएं
Drivetrain.driveFor(forward, 900, mm);
Drivetrain.turnFor(left, 90, degrees);
Drivetrain.driveFor(forward, 1350, mm);
Drivetrain.turnFor(right, 90, degrees);
Drivetrain.driveFor(forward, 600, mm);
wait(6, seconds);
// कमरा 1 पर जाएं
Drivetrain.driveFor(reverse, 600, mm);
Drivetrain.turnFor(right, 90, degrees);
Drivetrain.driveFor(forward, 600, mm);
Drivetrain.turnFor(left, 90, degrees);
Drivetrain.driveFor(forward, 600, mm);
wait(5, seconds);
// लिफ्ट पर जाएं
Drivetrain.driveFor(रिवर्स, 600, मिमी);
Drivetrain.turnFor(दाएं, 90, डिग्री);
Drivetrain.driveFor(आगे, 600, मिमी);
Drivetrain.turnFor(बाएं, 90, डिग्री);
Drivetrain.driveFor(आगे, 600, मिमी);
wait(6, सेकंड);
// कमरा 2 पर जाएं
Drivetrain.driveFor(रिवर्स, 800, मिमी);
Drivetrain.turnFor(बाएं, 90, डिग्री);
Drivetrain.driveFor(आगे, 1000, मिमी);
Drivetrain.turnFor(बाएं, 90, डिग्री);
Drivetrain.driveFor(आगे, 800, मिमी);
wait(5, सेकंड);
// कमरा 3 पर जाएं
Drivetrain.driveFor(रिवर्स, 800, मिमी);
Drivetrain.turnFor(बाएं, 90, डिग्री);
Drivetrain.driveFor(आगे, 600, मिमी);
Drivetrain.turnFor(दाएं, 90, डिग्री);
Drivetrain.driveFor(आगे, 800, मिमी);
wait(5, सेकंड);
// लिफ्ट पर जाएं
Drivetrain.driveFor(रिवर्स, 800, मिमी);
Drivetrain.turnFor(बाएं, 90, डिग्री);
Drivetrain.driveFor(आगे, 600, मिमी);
Drivetrain.turnFor(दाएं, 90, डिग्री);
Drivetrain.driveFor(आगे, 800, मिमी);
wait(6, सेकंड);
// प्रारंभिक क्षेत्र में वापस जाएं
Drivetrain.driveFor(आगे, 1500, मिमी);