這篇文章主要介紹shell腳本怎么實(shí)現(xiàn)猜數(shù)游戲,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián) - 服務(wù)器托管,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽(yáng)服務(wù)器托管,德陽(yáng)服務(wù)器托管,遂寧服務(wù)器托管,綿陽(yáng)服務(wù)器托管,四川云主機(jī),成都云主機(jī),西南云主機(jī),服務(wù)器托管,西南服務(wù)器托管,四川/成都大帶寬,機(jī)柜大帶寬,四川老牌IDC服務(wù)商用shell腳本寫(xiě)一個(gè)猜數(shù)游戲
最近用shell寫(xiě)的一個(gè)猜數(shù)游戲,包括4個(gè)不同難度,腳本如下:
#作者:p_小王 echo '歡迎來(lái)到猜數(shù)游戲!' while true do read -p '開(kāi)始/退出(y/n):' x #提示用戶輸入 if [ -z $x ] #判斷用戶輸入為空 then echo '不能為空' #提示 echo '' continue elif [ $x = y ] #判斷用戶輸入‘y' then echo '' echo '游戲即將開(kāi)始' echo '' while true do sleep 1s #延遲1s echo '請(qǐng)選擇難度' #難度選擇 echo ' 1.簡(jiǎn)單' echo ' 2.一般' echo ' 3.困難' echo ' 4.地獄' echo ' 5.返回' echo '' read -p '請(qǐng)輸入對(duì)應(yīng)序號(hào):' y #提示用戶輸入 if [ -z $y ] #判斷用戶輸入為空 then echo '不能為空' #提示 echo '' continue elif [ $y = 1 ] #判斷用戶輸入‘1'簡(jiǎn)單 then while true do num=$[RANDOM%100+1] #隨機(jī)生成100以?xún)?nèi)的數(shù) echo '猜一個(gè)1-100的數(shù)' n=0 #定義變量 while true do read -p '請(qǐng)輸入:' a #提示用戶輸入 let n++ #計(jì)次數(shù) if [ -z $a ] #判斷用戶輸入為空 then echo '輸入不能為空!' #提示 continue elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數(shù)字 then echo '請(qǐng)輸入1-100之間的數(shù)!' #提示 continue elif [ $a -lt 1 ] || [ $a -gt 100 ] #判斷用戶輸入的數(shù)在1-100之間 then echo '請(qǐng)輸入1-100之間的數(shù)!' #提示 continue elif [ $a -gt $num ] #判斷用戶輸入的數(shù)大于隨機(jī)生成的數(shù) then echo '猜大了,再猜!' #提示 continue elif [ $a -lt $num ] #判斷用戶輸入的數(shù)小于隨機(jī)生成的數(shù) then echo '猜小了,再猜!' #提示 continue else echo '恭喜你猜對(duì)了,正確數(shù)字是'$num #提示用戶猜對(duì)了 echo '猜了' $n '次' #顯示猜的次數(shù) echo '' sleep 1s #延遲1s echo '是否再來(lái)一局?' #提示是否再玩 while true do read -p 'y/n:' i #提示用戶輸入 if [ -z $i ] #判斷用戶輸入為空 then echo '不能為空' #提示 echo '' continue elif [ $i = y ] #判斷用戶輸入‘y' then break 2 elif [ $i = n ] #判斷用戶輸入‘n' then break 3 else echo '輸入有誤' #提示 echo '' continue fi done fi done done elif [ $y = 2 ] #判斷用戶輸入‘2'一般 then while true do num=$[RANDOM%1000+1] #隨機(jī)生成1000以?xún)?nèi)的數(shù) echo '猜一個(gè)1-1000的數(shù)' #提示 n=0 #定義變量 while true do read -p '請(qǐng)輸入:' a #提示用戶輸入 let n++ #記次數(shù) if [ -z $a ] #判斷用戶輸入 then echo '輸入不能為空!' #提示 continue elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數(shù)字 then echo '請(qǐng)輸入1-1000之間的數(shù)!' #提示 continue elif [ $a -lt 1 ] || [ $a -gt 1000 ] #判斷用戶輸入的在1-1000之間 then echo '請(qǐng)輸入1-1000之間的數(shù)!' #提示 continue elif [ $a -gt $num ] then echo '猜大了,再猜!' #提示 continue elif [ $a -lt $num ] then echo '猜小了,再猜!' #提示 continue else echo '恭喜你猜對(duì)了,正確數(shù)字是'$num #提示用戶猜對(duì)了 echo '猜了' $n '次' #顯示猜的次數(shù) echo '' sleep 1s #延遲1s echo '是否再來(lái)一局?' #提示是否繼續(xù)玩 while true do read -p 'y/n:' i #提示用戶輸入 if [ -z $i ] #判斷用戶輸入為空 then echo '不能為空' #提示 echo '' continue elif [ $i = y ] #判斷用戶輸入‘y' then break 2 elif [ $i = n ] #判斷用戶輸入‘n' then break 3 else echo '輸入有誤' #提示 echo '' continue fi done fi done done elif [ $y = 3 ] #判斷用戶輸入‘3'困難 then while true do num=$[RANDOM%10000+1] #隨機(jī)生成10000以?xún)?nèi)的數(shù) echo '猜一個(gè)1-10000的數(shù)' #提示 n=0 #定義變量 while true do read -p '請(qǐng)輸入:' a #提示用戶輸入 let n++ #記次數(shù) if [ -z $a ] #判斷用戶輸入為空 then echo '輸入不能為空!' #提示 continue elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數(shù)字 then echo '請(qǐng)輸入1-10000之間的數(shù)!' #提示 continue elif [ $a -lt 1 ] || [ $a -gt 10000 ] #判斷用戶輸入是否在1-10000之間 then echo '請(qǐng)輸入1-10000之間的數(shù)!' #提示 continue elif [ $a -gt $num ] #判斷輸入的數(shù)大于隨機(jī)生成數(shù) then echo '猜大了,再猜!' #提示 continue elif [ $a -lt $num ] #判斷輸入的數(shù)小于隨機(jī)生成數(shù) then echo '猜小了,再猜!' #提示 continue else echo '恭喜你猜對(duì)了,正確數(shù)字是'$num #提示用戶猜對(duì)了 echo '猜了' $n '次' #提示 echo '' sleep 1s #延遲1s echo '是否再來(lái)一局?' #提示是否繼續(xù)玩 while true do read -p 'y/n:' i #提示用戶輸入 if [ -z $i ] #判斷用戶輸入為空 then echo '不能為空' #提示 echo '' continue elif [ $i = y ] #判斷用戶輸入‘y' then break 2 elif [ $i = n ] #判斷用戶輸入‘n' then break 3 else echo '輸入有誤' #提示 echo '' continue fi done fi done done elif [ $y = 4 ] #判斷用戶輸入‘4'地獄 then while true do num=$[RANDOM%100000+1] #隨機(jī)生成100000以?xún)?nèi)的數(shù) echo '猜一個(gè)1-100000的數(shù)' #提示 n=0 #定義變量 while true do read -p '請(qǐng)輸入:' a #提示用戶輸入 let n++ #記次數(shù) if [ -z $a ] #判斷用戶輸入為空 then echo '輸入不能為空!' #提示 continue elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數(shù)字 then echo '請(qǐng)輸入1-100000之間的數(shù)!' #提示 continue elif [ $a -lt 1 ] || [ $a -gt 100000 ] #判斷用戶輸入1-100000之間 then echo '請(qǐng)輸入1-100000之間的數(shù)!' #提示 continue elif [ $a -gt $num ] #判斷輸入的數(shù)大于隨機(jī)生成數(shù) then echo '猜大了,再猜!' #提示 continue elif [ $a -lt $num ] #判斷輸入的數(shù)小于隨機(jī)生成數(shù) then echo '猜小了,再猜!' #提示 continue else echo '恭喜你猜對(duì)了,正確數(shù)字是'$num #提示用戶猜對(duì)了 echo '猜了' $n '次' #顯示猜的次數(shù) echo '' sleep 1s #延遲1s echo '是否再來(lái)一局?' #提示是否繼續(xù)玩 while true do read -p 'y/n:' i #提示用戶輸入 if [ -z $i ] #判斷用戶輸入為空 then echo '不能為空' #提示 echo '' continue elif [ $i = y ] #判斷用戶輸入‘y' then break 2 elif [ $i = n ] #判斷用戶輸入‘n' then break 3 else echo '輸入有誤' #提示 echo '' continue fi done fi done done elif [ $y = 5 ] #判斷用戶選擇返回 then echo '' break #返回 else #判斷用戶輸入其他 echo '輸入有誤' #提示 echo '' continue fi done elif [ $x = n ] #判斷用戶輸入‘n'退出 then echo '游戲即將退出' #提示 echo '' sleep 1s echo '退出成功!' #提示 echo '' exit 0 #結(jié)束腳本 else #判斷用戶輸入其他 echo '輸入有誤' #提示 echo '' continue fi done
以上是“shell腳本怎么實(shí)現(xiàn)猜數(shù)游戲”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!