Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. #!/bin/bash
  2. trap "tput reset; tput cnorm; exit" 2
  3. clear
  4. tput civis
  5. lin=2
  6. col=$(($(tput cols) / 2))
  7. c=$((col-1))
  8. est=$((c-2))
  9. color=0
  10. tput setaf 2; tput bold
  11.  
  12. # Tree
  13. for ((i=1; i<20; i+=2))
  14. {
  15. tput cup $lin $col
  16. for ((j=1; j<=i; j++))
  17. {
  18. echo -n \*
  19. }
  20. let lin++
  21. let col--
  22. }
  23.  
  24. tput sgr0; tput setaf 3
  25.  
  26. # Trunk
  27. for ((i=1; i<=2; i++))
  28. {
  29. tput cup $((lin++)) $c
  30. echo 'mWm'
  31. }
  32. new_year=$(date +'%Y')
  33. let new_year++
  34. tput setaf 1; tput bold
  35. tput cup $lin $((c - 6)); echo MERRY CHRISTMAS
  36. tput cup $((lin + 1)) $((c - 7 )); echo And a happy
  37. let c++
  38. k=1
  39.  
  40. # Lights and decorations
  41. while true; do
  42. for ((i=1; i<=35; i++)) {
  43. # Turn off the lights
  44. [ $k -gt 1 ] && {
  45. tput setaf 2; tput bold
  46. tput cup ${line[$[k-1]$i]} ${column[$[k-1]$i]}; echo \*
  47. unset line[$[k-1]$i]; unset column[$[k-1]$i] # Array cleanup
  48. }
  49.  
  50. li=$((RANDOM % 9 + 3))
  51. start=$((c-li+2))
  52. co=$((RANDOM % (li-2) * 2 + 1 + start))
  53. tput setaf $color; tput bold # Switch colors
  54. tput cup $li $co
  55. echo o
  56. line[$k$i]=$li
  57. column[$k$i]=$co
  58. color=$(((color+1)%8))
  59. # Flashing text
  60. sh=5
  61. for l in 2019
  62. do
  63. tput cup $((lin+1)) $((c+sh))
  64. echo $l
  65. let sh++
  66. sleep 0.01
  67. done
  68. }
  69. k=$((k % 2 + 1))
  70. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement