tft每日頭條

 > 遊戲

 > 編寫程序實現猜數字遊戲

編寫程序實現猜數字遊戲

遊戲 更新时间:2024-08-12 22:07:53

提醒:本文為合集文章,後續會持續更新!

關注我,每日提升!

需求:寫一個猜數字腳本,目标預設數字需要随機生成,範圍為0-100,當用戶輸入的數字和預設數字一樣時,提示用戶猜對,然後直接退出,否則需要提示用戶比預設數字大或者小,然後讓用戶持續輸入。

編寫程序實現猜數字遊戲(用shell腳本寫個猜數字遊戲)1

需求分析:

1. 生成一個随機0-100的數字,可以通過shell裡的RANDOM變量獲取一個随機數,但這個數可能大于100,所以還需要用該随機數除以100,取餘獲得一個小于100的随機數字。

n=$[$RANDOM0] echo $n

2. 利用read -p實現和用戶交互,讓用戶輸入數字

read -p "請輸入一個數字,範圍0-100: "n1

3. 比較兩個數的大小,當用戶輸入的數字大于預設數字時,提示“你輸入的數字小了”,當用戶輸入的數字大于預設數字時,提示“你輸入的數字大了”,正好相等時,提示“恭喜你猜對了”,關鍵代碼如下:

if [ $n1 -gt $n ] then echo "你輸入的數字大了" elif [ $n1 -lt $n ] then echo "你輸入的數字小了" else echo "恭喜你猜對了" fi

4. 當沒有猜對數字時,應該讓用戶再次輸入數字,所以這裡需要有一個死循環,使用while比較合适,當數字不對時,應該使用continue進行新的循環,當猜對了就要使用break跳出循環。關鍵代碼如下:

while : do read -p "請輸入一個數字,範圍0-100: " n1 if [ $n1 -gt $n ] then echo "你輸入的數字大了" continue elif [ $n1 -lt $n ] then echo "你輸入的數字小了" continue else echo "恭喜你猜對了" break fi done

5. 生成随機數的步驟不應該放到循環裡面,而是放到循環外面,因為到循環裡面就會導緻每次循環都會是新的數字,用戶永遠都猜不到答案。

最終,腳本是這樣的:

#!/bin/bash n=$[$RANDOM0] while : do read -p "請輸入一個數字,範圍0-100: " n1 if [ $n1 -gt $n ] then echo "你輸入的數字大了" continue elif [ $n1 -lt $n ] then echo "你輸入的數字小了" continue else echo "恭喜你猜對了" break fi done

執行腳本,效果如下:

編寫程序實現猜數字遊戲(用shell腳本寫個猜數字遊戲)2

猜數字有個技巧,要用取中間值的方法,比如我們第一次就直接猜50,提示大了,那麼最終範圍縮小到0-50,所以再取中間值25,還是大了,再取中間值13,結果就對了。

你快來試試看吧!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关遊戲资讯推荐

热门遊戲资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved