這篇文章主要介紹shell腳本怎么實現(xiàn)猜數(shù)游戲,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
用shell腳本寫一個猜數(shù)游戲
最近用shell寫的一個猜數(shù)游戲,包括4個不同難度,腳本如下:
#作者:p_小王 echo '歡迎來到猜數(shù)游戲!' while true do read -p '開始/退出(y/n):' x #提示用戶輸入 if [ -z $x ] #判斷用戶輸入為空 then echo '不能為空' #提示 echo '' continue elif [ $x = y ] #判斷用戶輸入‘y' then echo '' echo '游戲即將開始' echo '' while true do sleep 1s #延遲1s echo '請選擇難度' #難度選擇 echo ' 1.簡單' echo ' 2.一般' echo ' 3.困難' echo ' 4.地獄' echo ' 5.返回' echo '' read -p '請輸入對應序號:' y #提示用戶輸入 if [ -z $y ] #判斷用戶輸入為空 then echo '不能為空' #提示 echo '' continue elif [ $y = 1 ] #判斷用戶輸入‘1'簡單 then while true do num=$[RANDOM%100+1] #隨機生成100以內的數(shù) echo '猜一個1-100的數(shù)' n=0 #定義變量 while true do read -p '請輸入:' a #提示用戶輸入 let n++ #計次數(shù) if [ -z $a ] #判斷用戶輸入為空 then echo '輸入不能為空!' #提示 continue elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數(shù)字 then echo '請輸入1-100之間的數(shù)!' #提示 continue elif [ $a -lt 1 ] || [ $a -gt 100 ] #判斷用戶輸入的數(shù)在1-100之間 then echo '請輸入1-100之間的數(shù)!' #提示 continue elif [ $a -gt $num ] #判斷用戶輸入的數(shù)大于隨機生成的數(shù) then echo '猜大了,再猜!' #提示 continue elif [ $a -lt $num ] #判斷用戶輸入的數(shù)小于隨機生成的數(shù) then echo '猜小了,再猜!' #提示 continue else echo '恭喜你猜對了,正確數(shù)字是'$num #提示用戶猜對了 echo '猜了' $n '次' #顯示猜的次數(shù) echo '' sleep 1s #延遲1s echo '是否再來一局?' #提示是否再玩 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] #隨機生成1000以內的數(shù) echo '猜一個1-1000的數(shù)' #提示 n=0 #定義變量 while true do read -p '請輸入:' a #提示用戶輸入 let n++ #記次數(shù) if [ -z $a ] #判斷用戶輸入 then echo '輸入不能為空!' #提示 continue elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數(shù)字 then echo '請輸入1-1000之間的數(shù)!' #提示 continue elif [ $a -lt 1 ] || [ $a -gt 1000 ] #判斷用戶輸入的在1-1000之間 then echo '請輸入1-1000之間的數(shù)!' #提示 continue elif [ $a -gt $num ] then echo '猜大了,再猜!' #提示 continue elif [ $a -lt $num ] then echo '猜小了,再猜!' #提示 continue else echo '恭喜你猜對了,正確數(shù)字是'$num #提示用戶猜對了 echo '猜了' $n '次' #顯示猜的次數(shù) echo '' sleep 1s #延遲1s echo '是否再來一局?' #提示是否繼續(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] #隨機生成10000以內的數(shù) echo '猜一個1-10000的數(shù)' #提示 n=0 #定義變量 while true do read -p '請輸入:' a #提示用戶輸入 let n++ #記次數(shù) if [ -z $a ] #判斷用戶輸入為空 then echo '輸入不能為空!' #提示 continue elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數(shù)字 then echo '請輸入1-10000之間的數(shù)!' #提示 continue elif [ $a -lt 1 ] || [ $a -gt 10000 ] #判斷用戶輸入是否在1-10000之間 then echo '請輸入1-10000之間的數(shù)!' #提示 continue elif [ $a -gt $num ] #判斷輸入的數(shù)大于隨機生成數(shù) then echo '猜大了,再猜!' #提示 continue elif [ $a -lt $num ] #判斷輸入的數(shù)小于隨機生成數(shù) then echo '猜小了,再猜!' #提示 continue else echo '恭喜你猜對了,正確數(shù)字是'$num #提示用戶猜對了 echo '猜了' $n '次' #提示 echo '' sleep 1s #延遲1s echo '是否再來一局?' #提示是否繼續(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] #隨機生成100000以內的數(shù) echo '猜一個1-100000的數(shù)' #提示 n=0 #定義變量 while true do read -p '請輸入:' a #提示用戶輸入 let n++ #記次數(shù) if [ -z $a ] #判斷用戶輸入為空 then echo '輸入不能為空!' #提示 continue elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數(shù)字 then echo '請輸入1-100000之間的數(shù)!' #提示 continue elif [ $a -lt 1 ] || [ $a -gt 100000 ] #判斷用戶輸入1-100000之間 then echo '請輸入1-100000之間的數(shù)!' #提示 continue elif [ $a -gt $num ] #判斷輸入的數(shù)大于隨機生成數(shù) then echo '猜大了,再猜!' #提示 continue elif [ $a -lt $num ] #判斷輸入的數(shù)小于隨機生成數(shù) then echo '猜小了,再猜!' #提示 continue else echo '恭喜你猜對了,正確數(shù)字是'$num #提示用戶猜對了 echo '猜了' $n '次' #顯示猜的次數(shù) echo '' sleep 1s #延遲1s echo '是否再來一局?' #提示是否繼續(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 #結束腳本 else #判斷用戶輸入其他 echo '輸入有誤' #提示 echo '' continue fi done
以上是“shell腳本怎么實現(xiàn)猜數(shù)游戲”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章標題:shell腳本怎么實現(xiàn)猜數(shù)游戲-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://aaarwkj.com/article8/geiip.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿網(wǎng)站建設、用戶體驗、品牌網(wǎng)站建設、手機網(wǎng)站建設、做網(wǎng)站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容