# 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
