# bigdance.txt — große Choreografie in vier Teilen, rund 30 Sekunden # # python3 proxi_bridge.py --script bigdance.txt # # =========================================================================== # WIE SO EINE CHOREOGRAFIE GEBAUT WIRD # =========================================================================== # # 1. MELODY blockiert die Tanzfiguren, MOVE und TURN nicht. # DANCE, STAMP und SHAKE teilen sich mit MELODY einen Arbeiter und würden # erst NACH der Musik loslaufen. Zur Musik getanzt wird deshalb mit MOVE und # TURN — die starten sofort. # # 2. Melodien reihen sich von selbst aneinander. # Schickt man MELODY:B während A läuft, wartet B und startet nahtlos, # sobald A fertig ist. So entstehen mehrteilige Stücke. # # 3. Die Länge jeder Melodie ist bekannt — danach wird die Zeit eingeteilt: # ENTERTAINER 3.4s | FUNK 4.0s | CHASE 8.0s | NYAN 16.0s # Zusammen 31.4 Sekunden, die mit Bewegung gefüllt werden wollen. # # 4. WAIT ist immer rund 150 ms kürzer als die Bewegung davor. # So lange braucht die Brücke selbst zwischen zwei Befehlen. Ohne diesen # Abzug läuft der Tanz der Musik langsam davon. # # 5. Tanzschritte entstehen aus drei Bausteinen: # Wackeln TURN:LEFT:220 / TURN:RIGHT:220 im Wechsel # Stampfen MOVE:FWD:200 / MOVE:BWD:200 im Wechsel # Kurve MOVE:FWD:0 plus TURN währenddessen, danach MOVE:STOP # Kurze Zeiten wirken hektisch, lange gemütlich — das ist der Rhythmus. # # 6. Jeder Teil bekommt ein eigenes Gesicht. Das macht aus einer Bewegungsfolge # eine Aufführung. # # 7. Am Ende immer STOP. # # Gleich viel vorwärts wie rückwärts halten — dann bleibt Proxi ungefähr # da stehen, wo er losgetanzt ist, und fällt nicht vom Tisch. # FACE:ASLEEP # --- TEIL 1: Aufwachen (Entertainer, 3.4s) --- MELODY:ENTERTAINER WAIT:250 FACE:SURPRISED TURN:LEFT:300 WAIT:230 TURN:RIGHT:600 WAIT:550 TURN:LEFT:300 WAIT:230 WAIT:1240 # --- TEIL 2: Groove (Funk, 4.0s) --- MELODY:FUNK FACE:HAPPY TURN:LEFT:420 WAIT:320 TURN:RIGHT:420 WAIT:320 TURN:LEFT:420 WAIT:320 TURN:RIGHT:420 WAIT:320 MOVE:FWD:500 WAIT:410 MOVE:BWD:500 WAIT:410 WAIT:700 # --- TEIL 3: Jagd (Chase, 8.0s) --- MELODY:CHASE FACE:SILLY TURN:LEFT:200 WAIT:100 TURN:RIGHT:200 WAIT:100 TURN:LEFT:200 WAIT:100 TURN:RIGHT:200 WAIT:100 TURN:LEFT:200 WAIT:100 TURN:RIGHT:200 WAIT:100 TURN:LEFT:200 WAIT:100 TURN:RIGHT:200 WAIT:100 FACE:NORTH MOVE:FWD:0 TURN:LEFT:700 WAIT:650 TURN:RIGHT:700 WAIT:650 MOVE:STOP MOVE:BWD:900 WAIT:850 WAIT:2650 # --- TEIL 4: Finale (Nyan, 16.0s) --- MELODY:NYAN FACE:FABULOUS MOVE:FWD:220 WAIT:130 MOVE:BWD:220 WAIT:130 MOVE:FWD:220 WAIT:130 MOVE:BWD:220 WAIT:130 FACE:HEART TURN:LEFT:230 WAIT:140 TURN:RIGHT:230 WAIT:140 TURN:LEFT:230 WAIT:140 TURN:RIGHT:230 WAIT:140 TURN:LEFT:230 WAIT:140 TURN:RIGHT:230 WAIT:140 FACE:DIAMOND MOVE:FWD:0 TURN:LEFT:1200 WAIT:1150 TURN:RIGHT:1200 WAIT:1150 MOVE:STOP FACE:SILLY TURN:RIGHT:180 WAIT:80 TURN:LEFT:180 WAIT:80 TURN:RIGHT:180 WAIT:80 TURN:LEFT:180 WAIT:80 TURN:RIGHT:180 WAIT:80 TURN:LEFT:180 WAIT:80 FACE:TARGET MOVE:BWD:200 WAIT:110 MOVE:FWD:200 WAIT:110 MOVE:BWD:200 WAIT:110 MOVE:FWD:200 WAIT:110 FACE:FABULOUS TURN:LEFT:260 WAIT:170 TURN:RIGHT:260 WAIT:170 TURN:LEFT:260 WAIT:170 TURN:RIGHT:260 WAIT:170 FACE:HEART TURN:LEFT:1500 WAIT:1450 TURN:RIGHT:1500 WAIT:1450 STOP FACE:HEART