تحدي آلة الأخدود
في هذا التحدي، سوف تنقسم إلى فرق وتبرمج الروبوت الخاص بك للذهاب من خلال روتين الرقص باستخدام معرفتك بالحلقات. سيضع معلمك حدًا زمنيًا لتطوير/اختبار الرقصة وحدًا زمنيًا لطول الرقصة. سيحكم كل شخص ليس في فرق الرقص المتنافسة وجهاً لوجه على الرقصات ويصوت على الفريق الذي يعتقدون أنه الأفضل.
القواعد:
- سيرقص كل روبوت مخلب مرة واحدة في كل مرة داخل منطقة 1 × 1 متر.
- يستمر الرقص حتى يتم الضغط على زر الإيقاف على شاشة الدماغ لإيقاف تشغيل المشروع.
- يجب رفع الذراع وخفضه.
- يجب فتح المخلب وإغلاقه.
- يجب أن ينعطف المخلب يسارًا ويمينًا.
- يجب أن يقود Clawbot للأمام وللعكس.
- يجب إيقاف المشروع على الفور إذا اصطدم Clawbot بأي شيء أو سقط. هذه رقصة خاسرة.
صندوق أدوات المعلم
يمكن التعامل مع الحكم على هذه المسابقة بعدة طرق. تتمثل إحدى طرق زيادة المشاركة في جعل الطلاب يسجلون فيديو الرقص ويصوت الطلاب من الفصول الأخرى على الفائز. إذا كان ذلك طموحًا للغاية، ففكر في تعيين لجنة من القضاة المحايدين قبل البدء في هذا التحدي، أو جلب طلاب أو معلمين أو موظفين آخرين.
الحل أدناه هو مجرد مزيج من جميع الأمثلة الثلاثة لحركات الرقص المعلقة معًا.
// قم بتضمين مكتبة V5
#بما في ذلك "vex.h"
// يسمح بسهولة استخدام مكتبة vex
باستخدام مساحة الاسم
vex ؛ int main()
{// تهيئة تكوين الروبوت. لا تقم بالإزالة!
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);
repeat(2 ){ ArmMotor.spinFor.spinFor (forward
, 300, degrees); ArmMotor.setStopping (brake); Drivetrain.turnFor
(right, 90, degrees);
repeat(
9
){ Drivetrain.turnFor (left, 10
); wait (5), seconds); ArmMotor.venor.For
(300); ArmMotor.setturnFor (100%);
ArmMotor.setSturnFor (brake); repeat (3);
repeat(9 ){ Fotor.turnFor.turnFor (
right, 90, degrees); repeat (90, degrees); (9 ){ Drivetrain.turn.turnFor (
left
, 10); (left, 10);
wait
(
5); (seconds); ArmMotor.inor.for.for.for.for.for.for (
300); (reverse, 300);
ArmMotor (3); ArmMotor.setetrenity (
8); (3); repeatMotor (3);
repeat(3); (
3); repeat Fotor (3); (3
); repeat Fotor (3); (3); (
9
); repeat Fotor (9); (9);
(
9
);