#!/bin/sh

step1=$(printf "\t(>'-')>" | lolcat -f)
step2=$(printf "\t<('-'<)" | lolcat -f)
step3=$(printf "\t^('-')^" | lolcat -f)
step4=$(printf "\t<('-'<)" | lolcat -f)

dance1(){
    printf "%s\r" "$step1"
    sleep 0.5
    printf "%s\r" "$step2"
    sleep 0.5
    printf "%s\r" "$step3"
    sleep 0.5
    printf "%s\r" "$step4"
    sleep 0.5
}

dance2(){
    for _ in $(seq 1 10); do
        printf "%s\n" "$step1"
        sleep 0.05
        printf "\t%s\n" "$step2"
        sleep 0.05
        printf "\t\t%s\n" "$step3"
        sleep 0.05
        printf "\t\t\t%s\n" "$step4"
        sleep 0.05
        printf "\t\t%s\n" "$step1"
        sleep 0.05
        printf "\t%s\n" "$step2"
        sleep 0.05
        printf "%s\n" "$step3"
        sleep 0.05
        printf "\t%s\n" "$step4"
        sleep 0.05
    done
}

dance3(){
    for _ in $(seq 1 5); do
        printf "%s\n" "$step1"
        sleep 0.01
    done
    for _ in $(seq 1 5); do
        printf "%s\n" "$step2"
        sleep 0.01
    done
    for _ in $(seq 1 5); do
        printf "%s\n" "$step3"
        sleep 0.01
    done
    for _ in $(seq 1 5); do
        printf "%s\n" "$step4"
        sleep 0.01
    done
}

while true; do
    for _ in $(seq 1 10); do
        dance1
    done
    for _ in $(seq 1 2); do
        dance2
    done
    for _ in $(seq 1 4); do
        dance3
    done
done
