initial commit
[dotfiles.git] / scripts / christmas.sh
1 #!/bin/bash
2
3 LINES=$(tput lines)
4 COLUMNS=$(tput cols)
5
6 declare -A snowflakes
7 declare -A lastflakes
8
9 clear
10
11 function move_flake() {
12 i="$1"
13
14 if [ "${snowflakes[$i]}" = "" ] || [ "${snowflakes[$i]}" = "$LINES" ]; then
15 snowflakes[$i]=0
16 else
17 if [ "${lastflakes[$i]}" != "" ]; then
18 printf "\033[%s;%sH \033[1;1H " ${lastflakes[$i]} $i
19 fi
20 fi
21
22 printf "\033[%s;%sH\u274$[($RANDOM%6)+3]\033[1;1H" ${snowflakes[$i]} $i
23
24 lastflakes[$i]=${snowflakes[$i]}
25 snowflakes[$i]=$((${snowflakes[$i]}+1))
26 }
27
28 while :
29 do
30 i=$(($RANDOM % $COLUMNS))
31
32 move_flake $i
33
34 for x in "${!lastflakes[@]}"
35 do
36 move_flake "$x"
37 done
38
39 sleep 0.1
40 done