น่าสนใจและสนุกสนาน ต้นฉบับ ที่ฉันพบใน ParadiseLinux ซึ่งทำให้เกล็ดหิมะตกลงบนคอนโซลของเราอย่างไม่มีกำหนด
รหัสที่เป็นปัญหาคือ:
[รหัส]#! / bin / ทุบตี
LINES = $ (เส้น tput)
COLUMNS = $ (tput cols)
ประกาศ -A เกล็ดหิมะ
ประกาศ -A lastflakes
ชัดเจน
function move_flake () {
ผม = » $ 1″
ถ้า ["$ {เกล็ดหิมะ [$ i]}" = ""] || ["$ {เกล็ดหิมะ [$ i]}" = "$ LINES"]; แล้ว
เกล็ดหิมะ [$ i] = 0
อื่น
ถ้า ["$ {lastflakes [$ i]}"! = ""]; แล้ว
printf "\ 033 [% s;% sH \ 033 [1; 1H" $ {lastflakes [$ i]} $ i
fi
fi
printf "\ 033 [% s;% sH❄ \ 033 [1; 1H" $ {เกล็ดหิมะ [$ i]} $ i
lastflakes [$ i] = $ {เกล็ดหิมะ [$ i]}
เกล็ดหิมะ [$ i] = $ (($ {เกล็ดหิมะ [$ i]} + 1))
}
ในขณะที่:
do
ผม = $ (($ RANDOM% $ COLUMNS))
move_flake $ i
สำหรับ x ใน "$ {! lastflakes [@]}"
do
move_flake "$ x"
ทำ
นอนหลับ 0.1
ทำ
เราบันทึกไว้ในไฟล์และตั้งชื่ออะไรก็ได้สมมติว่า snowing.sh. จากนั้นเราให้สิทธิ์ในการดำเนินการ:
$ chmod +x nevando.sh
และเราดำเนินการในเทอร์มินัล
$ ./nevando.sh
ยังคงเป็นเพียงการใส่คริสต์มาสบางส่วนไว้ในพื้นหลัง😛
ช้าไปหน่อย แต่เดี๋ยวก่อน
สายเล็กน้อยสำหรับผู้ที่มาจากซีกโลกเหนือ แต่ก็เร็วไปหน่อยสำหรับผู้ที่มาจากซีกโลกใต้