这篇文章给大家分享的是有关壳实现猜数字小游戏的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
壳实现猜数字游戏的具体代码如下
# !/bin/bash #,猜数字编程游戏 #,系统随机生成一个数字,给这个数字定一个范围(1-60),让用户输入猜的数字,对输入进行判断,如果不符合要求,就给予高或低的提示。其他要求: #,全部猜对后则给出猜对使用用的总次数。 #,根据猜的历史给出击败了百分之多少的已经猜过的用户。 #,并把关键的内容(高低以及数字部分)以特殊颜色提示用户。 , , #,生成一个1到60之间的随机数 number_range=$((随机% 60)) , 登录(){ read 才能;-p & # 39;请输入游戏昵称:,& # 39;名称 if 才能;[,-z “name"美元;,); ,,,echo -e “033 \ [1; 31 m 昵称不允许为空,033年\ [0 m" ,,,exit 1 fi才能 } , , #,检查输入是否合法,含有非数字,为空,大于60小于1都属于非法行为 check_number () { if 才能;[,-z “number"美元;,-o 美元(echo “number"美元;| egrep -o & # 39; [^ 0 - 9] & # 39; | wc - l), -gt 1,); ,,,echo -e “033 \ [1; 31 m 请不要输入非数字字符,033年\ [0 m" ,才能继续 elif 才能;[,-z “number"美元;,); ,,,echo -e “033 \ [1; 32 m 请不要输入空字符,033年\ [0 m" 其他的才能 ,,,if [,“number"美元,-lt 1, -o “number"美元;,-gt 60,); ,,,,,echo -e “033 \ [1; 31 m 请输入一个1到60之间的数字,033年\ [0 m" ,,,,,继续 ,,fi fi才能 } , #,提示输入和正确答案大小比对 提示(){ if 才能;[,“number"美元,-lt “number_range"美元;,); ,,,echo -e “033 \ [1; 34 m 你猜的数字太小了,033年\ [0 m" elif 才能;[,“number"美元,-gt “number_range"美元;,); ,,,echo -e “033 \ [1; 35 m 你猜的数字太大了,033年\ [0 m" elif 才能;[,“number"美元,-eq “number_range"美元;,); ,,,echo -e “033 \ [1; 36 m 恭喜你猜对了,033年\ [0 m" ,,,echo -e “033 \ [1; 31 m 一共使用了美元计算次机会,033年\ [0 m" ,,,echo “name 美元;count"美元;,在祝辞Game_history ,,check_beat fi才能 } , #,判断击败了多少历史玩家 check_beat () { beat_count才能=0 for 才能;history 美元拷贝(awk & # 39; {print $ 2} & # 39;, Game_history) ,做的 ,,,总=$ (expr $ (cat Game_history | wc - l),安康;1) ,,,if [,“total"美元,-eq 0,); ,,,,,echo -e “033 \ [1; 32 m 您是本游戏的第一位用户哦,033年\ [0 m" ,,,,,exit 1 ,,,else ,,,,,if [,“count"美元,-lt “history"美元;,); ,,,,,,,let beat_count + + fi。才能 ,,fi ,完成 echo 才能| awk -v beat_count=$ beat_count -v 总=$ total & # 39; {printf “您一共击败了% .2f % %的历史玩家\ n", beat_count/总* 100}& # 39; exit 才能;1 } , #,主菜单 菜单(){ ,登录 ,数=0 while 才能: ,做的 ,,,read -p & # 39;请输入一个1到60之间的数字:,& # 39;数量 ,,,let + + ,,check_number ,,,提示 ,完成 } 菜单
小编再为大家分享一段:壳牌实现猜数字游戏的代码
#/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #,,祝辞,File 名称:guessgame.sh #,,祝辞,作者:投入 #,,在邮件:,2550702985 @qq.com #,,祝辞,Created 时间:,2017 - 03 - 22日01:57 #,,祝辞,Last 修改:,2017 - 03 - 22日01:57 randNum=$ (date + % s % N) let luckNum=$ {randNum: 0-1:1} echo luckNum美元 let num=luckNum + 1 while [,美元luckNum -ne  num 美元;); read 才能;- p # 39; Please input a num:, & # 39;, num # expr 才能当num为0结果非0,故不能作为数字判断的标准 #,才能expr num 美元;+,0,,祝辞,/dev/null | | {, echo & # 39;请输入数字& # 39;;exit 2,,} echo 才能;num 美元;| grep -E & # 39; ^[[数位:]]+ $ & # 39;,,祝辞,/dev/null | | {, echo & # 39;请输入数字 & # 39;;exit 2;},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, if 才能;[,luckNum 美元;-eq  num 美元;); ,,,echo & # 39;祝贺# 39;; null null null null null null null壳牌实现猜数字小游戏的方法