The Groove Machine Challenge
In questa sfida, ti dividerai in squadre e programmerai il tuo robot per passare attraverso una routine di danza usando la tua conoscenza dei loop. Il tuo insegnante stabilirà un limite di tempo per sviluppare/testare la danza e un limite di tempo per la durata della danza. Tutti coloro che non fanno parte delle squadre di ballo testa a testa in competizione giudicheranno i balli e voteranno la squadra che ritengono migliore.
Rules:
- Ogni Clawbot ballerà uno alla volta all'interno dell'area di 1x1 metro.
- La danza continua fino a quando non viene premuto il pulsante Stop sullo schermo di Brain per interrompere l'esecuzione del progetto.
- Il braccio deve essere sollevato e abbassato.
- L'artiglio deve aprirsi e chiudersi.
- Il Clawbot deve girare a sinistra e a destra.
- Il Clawbot deve guidare in avanti e in retromarcia.
- Il progetto deve essere interrotto immediatamente se il Clawbot si scontra con qualcosa o cade. È un ballo perdente.
Cassetta degli attrezzi per insegnanti
Giudicare per questa competizione potrebbe essere gestito in diversi modi. Un modo per aumentare il coinvolgimento è fare in modo che gli studenti registrino il ballo e che gli studenti di altre classi votino il vincitore. Se questo è troppo ambizioso, prendi in considerazione la nomina di una giuria imparziale prima di iniziare questa sfida o di coinvolgere altri studenti, insegnanti o personale.
La soluzione di seguito è semplicemente una combinazione di tutti e tre i passi di danza di esempio messi insieme.
// Include the V5 Library
#include "vex.h"
// Consente un utilizzo più semplice della libreria VEX
utilizzando lo spazio dei nomi vex;
int main() {
// Initializing Robot Configuration. NON RIMUOVERE!
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 (brake); Drivetrain.turnFor (right,
90, degrees);
repeat (9
) {Drivetrain.spinFor (left,
10 degrees);
wait (.5, seconds
);
} Armotor.spin (reverse, 300
degrees); ArmotorMet.setV
(80, percent); DrivetrainTurnFor
(65, percent); {
ArmMotor.spinFor
(left, 3, 900, degrees
)
;