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.
# Importazioni di librerie
da importazione vex *
# Iniziare il
codice del progetto
mentre True:
arm_motor.spin_for (FORWARD, 300, DEGREES) arm_motor.set_stopping (
BRAKE)
for repeat_count in range(3): drivetrain.turn_for (
RIGHT, 90, DEGREES)
for repeat_claw in range
(2):
claw_motor.spin_for (REVERSE, 90, DEGREES) claw_motor.spin_for (FORWARD, 90,
DEGREES)
wait (5,
MSEC) drivetrain.turn_for (LEFT, 90, DEGREES)
for
repeat_claw in range(2): claw_motor.spin_for (REVERSE
, 90, DEGREES) claw_motor.spin_for
(FORWARD,
90, DEGREES) wait (5, msec)
wait (5
, MSEC)
for repeat_count in range (2
): arm_motor.spin_for (FORWARD,
300, DEGREES) arm_motor.stopping
(BRAKE) drivetrain.turn_for
(RIGHT, 90, turns in range): 9,
drivetrain_turn (LEFT, 10,
msec)
wait (waitfor, 5,
msec_spin_spin_for (waitfor), waitfor
(reverse, 300, msec) waitfor (REVERSE
, MSEC) wait_motor.set_spin_for (forward
, 65, 65%)