所以我在前一天看到這個bash腳本模擬終端上的積雪。我認爲這將是一個簡單的項目,在C中學習ncurses,但我已經完全搞砸了。我的做法只是用隨機雪花填充一些字符串並將它們寫入屏幕。我沒有得到我期望的任何東西。基本上只是一個以光速飛行的大混亂。模擬ncurses中的bash「snow fall」腳本/ C
任何人都可以把我放在正確的軌道上嗎?這是我想複製行爲的腳本。
#!/bin/bash
LINES=$(tput lines)
COLUMNS=$(tput cols)
declare -A snowflakes
declare -A lastflakes
clear
function move_flake() {
i="$1"
if [ "${snowflakes[$i]}" = "" ] || [ "${snowflakes[$i]}" = "$LINES" ]; then
snowflakes[$i]=0
else
if [ "${lastflakes[$i]}" != "" ]; then
printf "\033[%s;%sH \033[0;0H " ${lastflakes[$i]} $i
fi
fi
printf "\033[%s;%sH*\033[0;0H" ${snowflakes[$i]} $i
lastflakes[$i]=${snowflakes[$i]}
snowflakes[$i]=$((${snowflakes[$i]}+1))
}
while :
do
i=$(($RANDOM % $COLUMNS))
move_flake $i
for x in "${!lastflakes[@]}"
do
move_flake "$x"
done
sleep 0.1
done
請向我們展示您的代碼,您期望的輸出是什麼,您實際得到的輸出是什麼,並且詢問關於您遇到問題的具體問題。 – 2011-12-22 18:31:42
這段代碼被編輯和註釋掉了太多,以至於它在發佈之前只是一團亂麻,並且從挫敗中抹去了它。這不是家庭作業,只是試圖減輕無聊而導致的錯誤。 – 2011-12-22 22:24:56