麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Linux Shell > 正文

shell腳本實現猜數游戲

2020-07-26 23:25:35
字體:
來源:轉載
供稿:網友

用shell腳本寫一個猜數游戲

最近用shell寫的一個猜數游戲,包括4個不同難度,腳本如下:

#作者:p_小王echo '歡迎來到猜數游戲!'while truedo 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以內的數  echo '猜一個1-100的數'  n=0 #定義變量  while true  do  read -p '請輸入:' a #提示用戶輸入  let n++ #計次數  if [ -z $a ] #判斷用戶輸入為空  then  echo '輸入不能為空!' #提示  continue  elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數字  then  echo '請輸入1-100之間的數!' #提示  continue  elif [ $a -lt 1 ] || [ $a -gt 100 ] #判斷用戶輸入的數在1-100之間  then  echo '請輸入1-100之間的數!' #提示  continue  elif [ $a -gt $num ] #判斷用戶輸入的數大于隨機生成的數  then  echo '猜大了,再猜!' #提示  continue  elif [ $a -lt $num ] #判斷用戶輸入的數小于隨機生成的數  then  echo '猜小了,再猜!' #提示  continue  else  echo '恭喜你猜對了,正確數字是'$num #提示用戶猜對了  echo '猜了' $n '次' #顯示猜的次數  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以內的數  echo '猜一個1-1000的數' #提示  n=0 #定義變量  while true  do  read -p '請輸入:' a #提示用戶輸入  let n++ #記次數  if [ -z $a ] #判斷用戶輸入  then  echo '輸入不能為空!' #提示  continue  elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數字  then  echo '請輸入1-1000之間的數!' #提示  continue  elif [ $a -lt 1 ] || [ $a -gt 1000 ] #判斷用戶輸入的在1-1000之間  then  echo '請輸入1-1000之間的數!' #提示  continue  elif [ $a -gt $num ]  then  echo '猜大了,再猜!' #提示  continue  elif [ $a -lt $num ]  then  echo '猜小了,再猜!' #提示  continue  else  echo '恭喜你猜對了,正確數字是'$num #提示用戶猜對了  echo '猜了' $n '次' #顯示猜的次數  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 = 3 ] #判斷用戶輸入‘3'困難 then while true do  num=$[RANDOM%10000+1] #隨機生成10000以內的數  echo '猜一個1-10000的數' #提示  n=0 #定義變量  while true  do  read -p '請輸入:' a #提示用戶輸入  let n++ #記次數  if [ -z $a ] #判斷用戶輸入為空  then  echo '輸入不能為空!' #提示  continue  elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數字  then  echo '請輸入1-10000之間的數!' #提示  continue  elif [ $a -lt 1 ] || [ $a -gt 10000 ] #判斷用戶輸入是否在1-10000之間  then  echo '請輸入1-10000之間的數!' #提示  continue  elif [ $a -gt $num ] #判斷輸入的數大于隨機生成數  then  echo '猜大了,再猜!' #提示  continue  elif [ $a -lt $num ] #判斷輸入的數小于隨機生成數  then  echo '猜小了,再猜!' #提示  continue  else  echo '恭喜你猜對了,正確數字是'$num #提示用戶猜對了  echo '猜了' $n '次' #提示  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 = 4 ] #判斷用戶輸入‘4'地獄 then while true do  num=$[RANDOM%100000+1] #隨機生成100000以內的數  echo '猜一個1-100000的數' #提示  n=0 #定義變量  while true  do  read -p '請輸入:' a #提示用戶輸入  let n++ #記次數  if [ -z $a ] #判斷用戶輸入為空  then  echo '輸入不能為空!' #提示  continue  elif [ -n "`echo $a | sed 's#[0-9]##g'`" ] #判斷用戶輸入非數字  then  echo '請輸入1-100000之間的數!' #提示  continue  elif [ $a -lt 1 ] || [ $a -gt 100000 ] #判斷用戶輸入1-100000之間  then  echo '請輸入1-100000之間的數!' #提示  continue  elif [ $a -gt $num ] #判斷輸入的數大于隨機生成數  then  echo '猜大了,再猜!' #提示  continue  elif [ $a -lt $num ] #判斷輸入的數小于隨機生成數  then  echo '猜小了,再猜!' #提示  continue  else  echo '恭喜你猜對了,正確數字是'$num #提示用戶猜對了  echo '猜了' $n '次' #顯示猜的次數  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 = 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 fidone

備注:本人已經測試過了,未測出bug

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲综合视频网 | 欧美精品一区二区中文字幕 | 久久精品视频一区 | 欧产日产国产精品99 | 欧美自拍 | 在线 日本 制服 中文 欧美 | 亚洲精品一区二区三区大胸 | 大西瓜永久免费av在线 | 亚洲黑人在线观看 | asian gaysex| 精品久久久久久久久久久久包黑料 | 亚洲国产馆 | 毛片视频免费观看 | 久久sp| 亚洲第九十九页 | 久综合色| 欧美日韩国产综合网 | 国产精品久久久在线观看 | 国产精品成人久久 | 精品一区二区三区在线观看国产 | 亚洲最大av网站 | 国产一级毛片a | 精品国产一区二区三区久久久蜜 | 国产日韩免费观看 | 精品国产乱码一区二区三区四区 | 欧美伦理一区二区 | 羞羞视频免费入口网站 | 天天草夜夜爽 | 日本一区二区高清不卡 | 国产99精品视频 | 精品久久久一二三区播放播放播放视频 | 亚洲人成在线播放网站 | 国产网站黄| 国产一区国产二区在线观看 | 日韩精品二区 | 性爱视频在线免费 | 9191久久久久视频 | 亚洲午夜精品视频 | 国产美女爽到喷白浆的 | 国产伦乱视频 | 日韩视频一 |