欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell腳本實(shí)現(xiàn)猜數(shù)游戲

 更新時(shí)間:2020年04月21日 16:18:16   作者:p_小王  
這篇文章主要為大家詳細(xì)介紹了shell腳本實(shí)現(xiàn)猜數(shù)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

用shell腳本寫一個(gè)猜數(shù)游戲

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

#作者:p_小王

echo '歡迎來(lái)到猜數(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 '請(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以內(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以內(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以內(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以內(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

備注:本人已經(jīng)測(cè)試過(guò)了,未測(cè)出bug

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Shell腳本批量清除Nginx緩存

    Shell腳本批量清除Nginx緩存

    這篇文章主要介紹了Shell腳本批量清除Nginx緩存,本文直接給出實(shí)現(xiàn)代碼和執(zhí)行效果圖,需要的朋友可以參考下
    2014-12-12
  • 檢測(cè)網(wǎng)站down掉后自動(dòng)發(fā)信的shell腳本代碼

    檢測(cè)網(wǎng)站down掉后自動(dòng)發(fā)信的shell腳本代碼

    腳本用途:檢測(cè)指定文件中的網(wǎng)站url,當(dāng)一個(gè)網(wǎng)站down掉后,自動(dòng)給指定的郵箱發(fā)信
    2013-02-02
  • Shell退出狀態(tài)的使用

    Shell退出狀態(tài)的使用

    這篇文章主要介紹了Shell退出狀態(tài)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • linux find命令之exec簡(jiǎn)單概述

    linux find命令之exec簡(jiǎn)單概述

    這篇文章主要為大家詳細(xì)介紹了linux find命令之exec的簡(jiǎn)單使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)

    shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)

    這篇文章主要介紹了shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè),本文給出的腳本使用對(duì)比MD5的方法,檢測(cè)linux系統(tǒng)文件是否被替換等問(wèn)題,需要的朋友可以參考下
    2014-12-12
  • Shell編程中Shift的用法小結(jié)

    Shell編程中Shift的用法小結(jié)

    本文給大家分享Shell編程中Shift的用法小結(jié),文末文給大家擴(kuò)展介紹Shell grep 命令擴(kuò)展增強(qiáng)問(wèn)題分析,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • 提高你工作效率的shell命令總結(jié)大全

    提高你工作效率的shell命令總結(jié)大全

    腳本語(yǔ)言可以減少很多手動(dòng)的操作,作為一個(gè)Linux程序員都應(yīng)該了解簡(jiǎn)單的腳本編寫來(lái)代替手動(dòng)的操作,下面這篇文章主要給大家總結(jié)分享了一些提高你工作效率的shell命令,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來(lái)一起看看吧。
    2017-07-07
  • shell 備份數(shù)據(jù)庫(kù)、代碼上線的腳本

    shell 備份數(shù)據(jù)庫(kù)、代碼上線的腳本

    Shell 是一個(gè)用 C 語(yǔ)言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語(yǔ)言,又是一種程序設(shè)計(jì)語(yǔ)言。這篇文章主要介紹了shell腳本之備份數(shù)據(jù)庫(kù)、代碼上線,需要的朋友可以參考下
    2020-02-02
  • 解決linux?shell中傳遞包含空格的參數(shù)問(wèn)題

    解決linux?shell中傳遞包含空格的參數(shù)問(wèn)題

    這篇文章主要介紹了如何解決linux?shell中傳遞包含空格的參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 幾個(gè)常用的Linux操作系統(tǒng)監(jiān)控腳本代碼

    幾個(gè)常用的Linux操作系統(tǒng)監(jiān)控腳本代碼

    本文介紹了幾個(gè)常用的Linux監(jiān)控腳本,可以實(shí)現(xiàn)主機(jī)網(wǎng)卡流量、系統(tǒng)狀況、主機(jī)磁盤空間、CPU和內(nèi)存的使用情況等方面的自動(dòng)監(jiān)控與報(bào)警。根據(jù)自己的需求寫出的shell腳本更能滿足需求,更能細(xì)化主機(jī)監(jiān)控的全面性
    2013-07-07

最新評(píng)論