#!/bin/sh

clear

FRAMES=10
SPEED=0.03

# Clear screen and hide cursor
tput civis 2>/dev/null || true

print_pumpkin() {
        tput cup 0 0 2>/dev/null || clear
        printf "%$((FRAMES - y))s\n" ""
        printf "%${x}s%s\n" "" "       |_|"
        printf "%${x}s%s\n" "" "    .-------."
        printf "%${x}s%s\n" "" "   /         \\"
        printf "%${x}s%s\n" "" "  /  /\\  /\\   \\"
        printf "%${x}s%s\n" "" " |   \\/  \\/    |"
        printf "%${x}s%s\n" "" " |     \\/      |"
        printf "%${x}s%s\n" "" " |  ________   |"
        printf "%${x}s%s\n" "" " | | |  | | |  |"
        printf "%${x}s%s\n" "" "  \\  |_|  |_| /"
        printf "%${x}s%s\n" "" "   '---------'"
}

# Animation loop
for i in 1 2 3; do
    # Jump up
    for y in $(seq 0 $FRAMES); do
        x=$((i * 8 + y))
        
        print_pumpkin $x $y
        
        sleep $SPEED
    done
    
    # Jump down
    for y in $(seq $((FRAMES - 1)) -1 0); do
        x=$((i * 8 + FRAMES + y))
        
        print_pumpkin $x $y
        
        sleep $SPEED
    done
done

# Clean up
clear
tput cnorm 2>/dev/null || true
